编辑器常用工具条:
编辑器高级工具条
点击截屏按钮出现截屏层
弹出截屏窗口
主要步骤如下:
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. 更新服务器缓存
|