转自官方论坛
作者:LEE
使用方法:
首先修改编辑器_editor.htm :
查找
//自定义按扭显示

if(!undefined(custombbcodes)) ...{

if (custombbcodes.length > 0)...{
document.writeln('<td><img src="editor/images/separator.gif" width="6" height="23"></td>');


for (var i = 0; i < custombbcodes.length; i++)...{
document.writeln('<td><div class="editor_buttonnormal" id="posteditor_cmd_custom' + custombbcodes[5] + '_' + i + '" onClick="discuzcode(\'custom' + custombbcodes[5] + '_' + i/*custombbcodes[0]*/ + '\')" onMouseOver="buttonContext(this, \'mouseover\')" onMouseOut="buttonContext(this, \'mouseout\')"><img title="' + custombbcodes[2] + '" alt="' + custombbcodes[2] + '" src = "editor/images/' + custombbcodes[1] + '" width="21" height="20"></div></td>');
}
}
}
</script>在下面加上:
<!-- //手写板开始! -->
<td><div class="editor_buttonnormal" id="posteditor_cmd_writer"> <a href="http://boylee.net" onclick="spwhitepad();return false;"><img src="spwhitepad/whitepad_icon.gif" border="0" alt="手写板"></a></div>
<script language="JavaScript">

function spwhitepad()...{
var win = window.open("spwhitepad/editor.htm?name=message","spwhitepadeditor","width=420,height=340,left=200,top=50,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no");
win.focus();
}
</script>
</td>
<!-- //手写板结束! --> 生成_editor,postreply,posttopic
然后:
1.将spwhitepad文件夹放到论坛根目录
2.将Discuz.Plugin.Writer.dll文件拷贝到BIN文件夹里
3.将showtopic.aspx拷贝到论坛根目录/aspx/1/下(我在默认风格下改的)
如果不是默认风格,其他风格的自己修改吧.
1.把模板showtopic.htm顶部加上 <%namespace Discuz.Plugin%>
2.查找(其实就是最上面那几行)
<script type="text/javascript">
var templatepath = "{templatepath}";

var postminchars = parseInt(...{config.minpostsize});

var postmaxchars = parseInt(...{config.maxpostsize});

var disablepostctrl = parseInt(...{disablepostctrl});
</script>在下面加上:
<script tyle="text/javascript" language="javascript" src="spwhitepad/createShapes.js"></script>3.生成showtopic.
4.查找aspx/你风格生成那个文件夹/showtopic.aspx,在其中查找post["message"].ToString().Trim(),并替换为:
Writer.whitepad(post["message"].ToString().Trim() ,loopi) 注意:如果你是老风格升级而来的自定义的风格,变量可能不是loopi,而是post__loop__id,具体的请看自己模版中的变量名.之所以没有模版中直接生成,好象是双参数的函数生成会出错,只好麻烦大家手动修改
所见即所得方式下返回代码修正,感谢"俺踏月色而来"修改
在WYSWYG模式下不能正确返回编辑代码,修改\spwhitepad\editor.htm,函数returnVal变为如下代码:

function returnVal()...{
var code=make_code();

if(code)...{

try...{
//var name = getQueryString('name',window.location.href);
//var obj = window.opener.document.getElementsByName(name)[0];
window.opener.insertText('[whitepad]'+code+'[/whitepad]');
//insertAtCaret(obj,'[whitepad]'+code+'[/whitepad]');

}catch(e)...{
document.getElementById('value_codetext').value = '[whitepad]'+code+'[/whitepad]';
codeTableShow(1);
alert("找不到输入框,返回失败.");
return false;
}
}
window.close();
}
即可,这时候参数实际也就没用了。附件:
WriterPad For FrameWork1.1.rar 附件:
WriterPad For FrameWork2.0.rar