如何为TinyMce写一个插件
1. 目录切换到tiny_mce\plugins, 新建一个文件夹:myplugins
2. 目录切换到tiny_mce\plugins\myplugins
a. 新建一个文件夹 img, 并在其目录下添加一个example.gif, 目录应为tiny_mce\plugins\myplugins\img\example.gif
b. 在目录tiny_mce\plugins\myplugins下, 新建editor_plugin.js
c. 在目录tiny_mce\plugins\myplugins下, 新建test.html
3. 目录切换到tiny_mce\langs, 打开en.js, 添加
myplugins:{
image_desc:"test the plugin of mine"
},
4. 打开刚刚添加的editor_plugin.js,
AdvancedMyPlugins: 和最后一行对应就行
myimage: 在工具栏上要显示的图标,以及点击它后执行什么命令
mceMyPlugins: 命令名,在ed.addCommand里定义执行什么动作
添加下面内容
(function() {
tinymce.create('tinymce.plugins.AdvancedMyPlugins', {
init : function(ed, url) {
ed.addCommand('mceMyPlugins', function() {
if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1)
return;
ed.windowManager.open({
file : url + '/test.html',
width : 590,
height : 370,
inline : 1
}, {
plugin_url : url
});
});
ed.addButton('myimage', {
title : 'myplugins.image_desc',
cmd : 'mceMyPlugins',
image : url + '/img/example.gif'
});
},
getInfo : function() {
return {
longname : 'My Plugins',
author : 'Moxiecode Systems AB',
authorurl : 'http://tinymce.moxiecode.com',
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',
version : tinymce.majorVersion + "." + tinymce.minorVersion
};
},
createControl : function(n, cm) {
return null;
}
});
// Register plugin
tinymce.PluginManager.add('myplugins', tinymce.plugins.AdvancedMyPlugins);
})();
5. 编辑html 页面, 添加myplugins and myimage
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Simple theme example</title>
<!-- TinyMCE -->
<script type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
plugins: "safari,style,advimage,wbxadvimage,table,advlink,preview,searchreplace,paste,noneditable,contextmenu,inlinepopups,myplugins",
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,forecolor,backcolor,|,numlist,bullist,outdent,indent,|,justifyleft,justifycenter,justifyright,justifyfull,fontsizeselect,image,myimage",
theme_advanced_buttons2 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
table_row_limit: 100,
table_col_limit: 100,
position : 'home'
});
</script>
<!-- /TinyMCE -->
</head>
<body>
<form method="post" action="http://tinymce.moxiecode.com/dump.php?example=true">
<textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
</textarea>
</form>
</body>
</html>