Discuz教程网

[插件制作] Discuz X2截屏插件整合教程

[复制链接]
authicon dly 发表于 2012-6-7 22:10:04 | 显示全部楼层 |阅读模式


编辑器常用工具条:
dz-scp-16.jpg

编辑器高级工具条
dz-scp.jpg

点击截屏按钮出现截屏层
dz-scp-cap1.jpg


弹出截屏窗口
dz-scp-cap2.jpg


主要步骤如下:
1.上传ScreenCapture文件夹
2.为编辑器增加截屏插件
3.配置上传地址
4.更新服务器缓存

1.1.   上传ScreenCapture文件夹
将ScreenCapture上传到下面的文件夹中
/static/js/
上传完后ScreenCapture文件夹的完整路径如下:
/static/js/ScreenCapture/

1.2.   为编辑器增加截屏插件
1.修改template/default/forum/post.htm页面
查找以下代码:
<!--{subtemplate common/header}-->
在找到的代码下面添加以下代码
<scripttype="text/javascript"src="{$_G['setting']['jspath']}ScreenCapture/ScreenCapture.js"></script>
<scripttype="text/javascript">
     //截屏插件
     var scpMgr = new CaptureManager();
     scpMgr.Load();
添加完后完整代码如下:
<script type="text/javascript" src="{$_G['setting']['jspath']}ScreenCapture/ScreenCapture.js"></script>

<script type="text/javascript">

     //截屏插件

     var scpMgr = new CaptureManager();

     scpMgr.Load();

     

     var allowpostattach = parseInt('{$_G['group']['allowpostattach']}');

     var allowpostimg = parseInt('$allowpostimg');

     var pid = parseInt('$pid');

     var tid = parseInt('$_G[tid]');

     var extensi** = '{$_G['group']['attachextensi**']}';

     var imgexts = '$imgexts';

     var postminchars = parseInt('$_G['setting']['minpostsize']');

     var postmaxchars = parseInt('$_G['setting']['maxpostsize']');

     var disablepostctrl = parseInt('{$_G['group']['disablepostctrl']}');

     var seccodecheck = parseInt('<!--{if checkperm('seccode') && $seccodecheck}-->1<!--{else}-->0<!--{/if}-->');

     var secqaacheck = parseInt('<!--{if checkperm('seccode') && $secqaacheck}-->1<!--{else}-->0<!--{/if}-->');

     var typerequired = parseInt('{$_G[forum][threadtypes][required]}');

     var sortrequired = parseInt('{$_G[forum][threadsorts][required]}');

     var special = parseInt('$special');

     var isfirstpost = <!--{if $isfirstpost}-->1<!--{else}-->0<!--{/if}-->;

     var allowposttrade = parseInt('{$_G['group']['allowposttrade']}');

     var allowpostreward = parseInt('{$_G['group']['allowpostreward']}');

     var allowpostactivity = parseInt('{$_G['group']['allowpostactivity']}');

     var sortid = parseInt('$sortid');

     var special = parseInt('$special');

     var fid = $_G['fid'];

     var ispicstyleforum = <!--{if $_G['forum']['picstyle']}-->1<!--{else}-->0<!--{/if}-->;

</script>


2.修改editor.js文件
打开文件:
static/js/editor.js

搜索如下代码
if(in_array(cmd, ['sml', 'url', 'quote', 'code', 'free', 'hide', 'aud', 'vid', 'fls', 'attach', 'image', 'pasteword'
添加如下代码:
,'scp'
添加后完整代码如下:
if(in_array(cmd, ['sml', 'url', 'quote', 'code', 'free', 'hide', 'aud', 'vid', 'fls', 'attach', 'image', 'pasteword','scp'])

搜索如下代码:
function showEditorMenu(tag, params) {
在其方法里找到第一个case 'pasteword'(兼容X1.5为: case 'fls'),在结束之后添加下面代码:
case 'scp'://截屏插件

     stitle = '截屏';

     str = '<p class="pbn">点击截屏按钮开始截屏:</p><div id="CapMsgDiv" style="display:none;"><img alt="进度图标" src="ScreenCapture/SL_Uploading.gif" /><span>图片上传中...</span><span>10%</span></div><input type="button" id="btnCapture" value="截屏"/></p>';

     menuwidth = 300;

break;

然后在找到第二个case 'pasteword'(Discuz! X1.5为: case 'fls') ,在结束之后添加下面代码:
case 'scp': //截屏事件

     scpMgr.wysiwyg = wysiwyg;

     scpMgr.Capture();

     break;

default:

3.修改editor.css文件
打开文件:
template/default/common/editor.css
在文件末尾添加如下代码:
/* 截屏控件样式 */

#e_scp { background: url({STATICURL}static/image/editor/scp.png) no-repeat; !important;}

.b2r #e_scp { background: url({STATICURL}static/image/editor/scp16.png) no-repeat; !important;}


4.修改post_editor_body.htm文件
打开文件:
template/default/forum/post_editor_body.htm
搜索如下代码:
<a id="{$editorid}_fls" title="{lang e_flash_title}">{lang e_flash}</a>
在此行之后添加如下代码:
<!-- 截屏插件 -->

<a id="{$editorid}_scp" title="{lang e_scp_title}">{lang e_scp}</a>

5.修改lang_template.php文件
打开文件:
source/language/forum/lang_template.php
搜索$lang = array ( ,在此行后边添加下面代码:
'e_scp' => '截屏',
'e_scp_title' => '截屏',

1.3.   配置上传地址
打开文件:
static/js/ScreenCapture/ScreenCapture.js
1.修改PostUrl改为实际上传地址。
2.修改CabPath为实际cab包的地址。
3.修改SetupPath为实际控件安装页面的地址。
//全局配置信息

     this.Config = {

         "PostUrl": "http://localhost:81/dz/static/js/ScreenCapture/upload.php"

         , "EncodeType": "utf-8"

         , "LicensedCompany": "北京新颖网络"

         , "Clsid": "B10327CB-56EC-43D9-BED0-C91E4AE8F42E"

         , "ProjID": "Xproer.ScreenCapture"

         , "CabPath": "http://localhost:81/dz/static/js/ScreenCapture/ScreenCapture.cab#version=1,6,21,54771"

         , "SetupPath": "http://localhost:81/dz/static/js/ScreenCapture/setup/setup.htm"

     };

1.4.   更新服务器缓存
2012-03-28-11-35-41732565.jpg





上一篇:Discuz X2截屏插件手动安装方法
下一篇:帖子分类信息上传图片不显示
authicon 中国营销沙龙 发表于 2012-6-11 08:04:56 | 显示全部楼层
真是难得给力的帖子啊。占个沙发!
authicon 史蒂芬 发表于 2012-6-23 12:48:59 | 显示全部楼层
下载地址在哪里。
authicon 史蒂芬 发表于 2012-6-23 12:49:00 | 显示全部楼层
下载地址在哪里。
authicon 史蒂芬 发表于 2012-6-23 12:49:14 | 显示全部楼层
下载地址在哪里。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-6-17 01:12

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表