创建主题及插件 | 内容提要 |
function TinyMCE_default_getEditorTemplate(settings)
{ var template = new Array(); template['html'] = '<Some HTML>'; template['delta_width'] = 0; template['delta_height'] = -40; return template; } function TinyMCE_default_getInsertLinkTemplate(settings)
{ |
使用外部模板文件
当用下面所描述的"file"参数使用外部模板文件时,需要把"tiny_mce_popup.js"包含进来。
为了跟TinyMCE通讯,此文件是必须的。所有的变量和语言定义在"html"属性中被替换。
<html> <head> <title>{$lang_theme_sample_title}</title> <script language="javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript"> alert(tinyMCE.getWindowArg('some_arg')); </script> <body> {$lang_theme_sample_desc} </body> |
此函数负责编辑器实例在页面中的布局,它返回包含特定名称的名称-值对的数组。解释如下,注意用[]括起来的名称是可选的。
此函数的settings参数是一个包含了tinyMCE设置和选项的名称-值对的数组。
html | HTML模板数据,它的值是实现编辑器所需的全部HTML代码。注意:在使用时{$<variable>}会被实际的值替换。关于这些特定值的更详细说明见后面。 |
[delta_width] | Delta宽度,此值包含用户界面所需的相关宽度。例如,工具栏需要20象素,则此值为-20。 这也是为什么编辑器的尺寸跟它所替换的组件宽度一致的原因。 |
[delta_height] | Delta高度,此值包含用户界面所需的相关高度。例如,工具栏需要40象素,则此值为-40。 这也是为什么编辑器的尺寸跟它所替换的组件宽度一致的原因。 |
上述"html"中的变量被TinyMCE的内部值所替换。有两种不同类型的变量,一种是以"lang_"为前缀的,它们会被相应名称的语言包替换。例如,<b>{$lang_test}</b>被语言变量"tinyMCELang['lang_test']"所替换,输出就成了<b>Test</b>。
另外的变量是所用模板直接传递的,列举如下。 注意用[]括起来的变量是可选的。
变量:
editor_id | 此为编辑器实例的ID,它应当被放在模板必须包含的IFRAME组件的ID属性中。 |
[default_document] | 为了解决MSIE的安全问题,增加了此设置,它会被替换成空白HTML页面。把它放在模板IFRAME组件的SRC属性中。 |
[area_width] | IFRAME区域的宽度,以象素为单位。 |
[area_height] | IFRAME区域的高度,以象素为单位。 |
[width] | 整个编辑器区域的宽度,以象素为单位。 |
[height] | 整个编辑器区域的高度,以象素为单位。 |
[themeurl] | 主题所在位置的URL。 |
注意:从这个模板可以调用两个JavaScript函数,它们是:在当前选定编辑器区域中执行命令的tinyMCE.execCommand及切换特定组件CSS类的tinyMCE.switchClass。
欲了解execCommand中可以执行的更多命令细节,请查看 Mozilla midas specification 和 TinyMCE specific commands.
此函数负责插入链接弹出窗口的布局,它返回包含特定名称的名称-值对的数组。解释如下,注意用[]括起来的名称是可选的。
此函数的settings参数是一个包含了tinyMCE设置和选项的名称-值对的数组。
html | HTML模板数据,它的值是实现链接对话框所需的全部HTML代码。注意:在使用时{$<variable>}会被实际的值替换。关于这些特定值的更详细说明见后面。如果"file"参数有赋值,此参数不是必须的。 |
file | 要使用的外部模板文件的名称,它可以是像.php,.asp,.jsp这样的动态页。 |
[width] | 弹出窗口的宽度,以象素为单位,默认为320. |
[height] | 弹出窗口的高度,以象素为单位,默认为200. |
上述"html"中的变量被TinyMCE的内部值所替换。有两种不同类型的变量,一种是以"lang_"为前缀的,它们会被相应名称的语言包替换。例如,<b>{$lang_test}</b>被语言变量"tinyMCELang['lang_test']"所替换,输出就成了<b>Test</b>。
另外的变量是所用模板直接传递的,列举如下。 注意用[]括起来的变量是可选的。
变量/窗口 参数:
[href] | 如果有选定一个链接,此变量被链接中的"href"属性值所替代。 |
[target] | 如果有选定一个链接,此变量被链接中的"target"属性值所替代。 |
[css] | 主题中弹出窗口CSS的位置。 |
注意:从这个模板中可以调用"window.opener.tinyMCE.insertLink(href, target)"这个javascript函数,它的作用是是在当前选定的编辑器中插入链接,并且应当在"插入"按钮按下时被调用。
此函数负责插入图像弹出窗口的布局,它返回包含特定名称的名称-值对的数组。解释如下,注意用[]括起来的名称是可选的。
此函数的settings参数是一个包含了tinyMCE设置和选项的名称-值对的数组。
html | HTML模板数据,它的值是实现图像对话框所需的全部HTML代码。注意:在使用时{$<variable>}会被实际的值替换。关于这些特定值的更详细说明见后面。如果"file"参数有赋值,此参数不是必须的。 |
file | 要使用的外部模板文件的名称,它可以是像.php,.asp,.jsp这样的动态页。 |
[width] | 弹出窗口的宽度,以象素为单位,默认为320. |
[height] | 弹出窗口的高度,以象素为单位,默认为200. |
上述"html"中的变量被TinyMCE的内部值所替换。有两种不同类型的变量,一种是以"lang_"为前缀的,它们会被相应名称的语言包替换。例如,<b>{$lang_test}</b>被语言变量"tinyMCELang['lang_test']"所替换,输出就成了<b>Test</b>。
另外的变量是所用模板直接传递的,列举如下。 注意用[]括起来的变量是可选的。
变量/窗口 参数:
[src] | 如果有选定一个图像,此变量被图像中的"src"属性值所替代。 |
[alt] | 如果有选定一个图像,此变量被图像中的"alt"属性值所替代。 |
[border] | 如果有选定一个图像,此变量被图像中的"border"属性值所替代。 |
[hspace] | 如果有选定一个图像,此变量被图像中的"hspace"属性值所替代。 |
[vspace] | 如果有选定一个图像,此变量被图像中的"vspace"属性值所替代。 |
[width] | 如果有选定一个图像,此变量被图像中的"width"属性值所替代。 |
[height] | 如果有选定一个图像,此变量被图像中的"height"属性值所替代。 |
[align] | 如果有选定一个图像,此变量被图像中的"align"属性值所替代。 |
[css] | 主题中弹出窗口CSS的位置。 |
注意:从这个模板中可以调用"window.opener.tinyMCE.insertImage(src, alt, border, hspace, vspace, width, height, align)"这个javascript函数,它的作用是是在当前选定的编辑器中插入图像,并且应当在"插入"按钮按下时被调用。
此函数负责插入表格弹出窗口的布局,它返回包含特定名称的名称-值对的数组。解释如下,注意用[]括起来的名称是可选的。
此函数的settings参数是一个包含了tinyMCE设置和选项的名称-值对的数组。
html | HTML模板数据,它的值是实现表格对话框所需的全部HTML代码。注意:在使用时{$<variable>}会被实际的值替换。关于这些特定值的更详细说明见后面。如果"file"参数有赋值,此参数不是必须的。 |
file | 要使用的外部模板文件的名称,它可以是像.php,.asp,.jsp这样的动态页。 |
[width] | 弹出窗口的宽度,以象素为单位。 |
[height] | 弹出窗口的高度,以象素为单位。 |
上述"html"中的变量被TinyMCE的内部值所替换。有两种不同类型的变量,一种是以"lang_"为前缀的,它们会被相应名称的语言包替换。例如,<b>{$lang_test}</b>被语言变量"tinyMCELang['lang_test']"所替换,输出就成了<b>Test</b>。
另外的变量是所用模板直接传递的,列举如下。 注意用[]括起来的变量是可选的。
变量/窗口 参数:
[cols] | 如果有选定一个表格,此变量会被表格的列数所替代。 |
[rows] | 如果有选定一个表格,此变量会被表格的行数所替代。 |
[border] | 如果有选定一个表格,此变量会被表格的"border"属性值所替代。 |
[cellpadding] | 如果有选定一个表格,此变量会被表格的"cellpadding"属性值所替代。 |
[cellspacing] | 如果有选定一个表格,此变量会被表格的"cellspacing"属性值所替代。 |
[width] | 如果有选定一个表格,此变量会被表格的"width"属性值所替代。 |
[height] | 如果有选定一个表格,此变量会被表格的"height"属性值所替代。 |
[align] | 如果有选定一个表格,此变量会被表格的"align"属性值所替代。 |
[action] | 根据用户是选择了一个表格还是创建一个新的表格来选择操作类型是"update"还是"insert"。 |
此函数在某个编辑器实例的聚焦状态发生改变时被调用,当前新聚焦的节点被做为参数传递给此函数。这对于你需要根据用户的选择来改变用户界面非常有用。
参数:editor_id | 编辑器的唯一ID号,这跟getEditorTemplate中的$editor_id变量一致。 |
node | 当前鼠标所在位置节点的引用。 |
undo_index | 当前撤消索引,如果撤消/重做功能被禁用,其值为-1。 |
undo_levels | 当前撤消层次的数目,如果撤消/重做功能被禁用,其值为-1。 |
visual_aid | 视觉帮助模式的状态,True/false。 |
any_selection | 是否选定任何文字或图像。 |
当执行像"bold"或"createlink"这样的命令时,此方法被调用。然后此 回调/主题/插件 函数回中断主题特定命令,并执行客户逻辑。如果此命令返回true,命令处理被终止,默认的tinyMCE命令处理永远不会被执行。
参数:editor_id | 编辑器的唯一ID号,这跟getEditorTemplate中的$editor_id变量一致。 |
element | 对编辑器实例中文档DOM根组件的引用。 |
command | 要执行的命令,例如:"myCommand"。 |
user_interface | 是否使用用户界面,true/false选项。 |
value | 要传给命令的自定义数据值,可以是任何数据类型。 |
当编辑器需要实现某个特定控制/按钮的时候此函数被调用,它返回的是那个控制的HTML模板,如果控制的名字不能被识别则返回空串。
注意变量{$pluginurl}会被当前插件目录的URL前缀所替换。
control_name | 要匹配的的控制的名称。例如,"iespell"代表的是iespell插件。 |
当编辑器对内容进行清理时此函数被调用。
参数:type | 清理的类型,insert_to_editor或者get_from_editor。 当向编辑器中传递内容时使用insert_to_editor;当从编辑器中获取内容时使用get_from_editor。 |
content | 要清理的HTML内容,该字符串包含了HTML代码。 |
返回 内容提要 | 顶部 |