0

我的页面上有多个文本区域,我正在尝试将 $lang 变量发送到我的 link_list 文件,以便能够以正确的语言生成链接,

如何获取当前的 textarea ID 值并将此值发送到我的 link_list 文件?

我试过了:tinymce.editors.id但不幸的是没有工作。

有人可以帮帮我吗 ?

非常感谢

<textarea id="fr" name="text_fr"></textarea>

<textarea id="en" name="text_en"></textarea>

和 :

tinyMCE.init({

selector: "textarea",

link_list: "link_list.php?lang=" + tinymce.editors.id,

...

});
4

2 回答 2

0

Michael Fromin,非常感谢您的回答。

尝试了您的解决方案,但我不明白在使用我的英文文本区域时如何使用 customConfigEn,在使用我的法语文本区域时如何使用 customConfigFr。

这是我使用 customConfigEn 的代码:

baseConfig = {
 theme : "modern", 
 selector: "textarea",
 plugins: ["advlist autolink...
 ...
}

customConfigEn = {  
    editor_selector: "en",
    link_list: "link_list.php?lang=en",
}
customConfigFr = {  
    editor_selector: "fr",
    link_list: "link_list.php?lang=fr",
}


$.extend(baseConfig, customConfigEn);

tinyMCE.init(baseConfig);

再次感谢您的帮助,我真的很感激

于 2017-05-16T06:32:42.760 回答
0

直到您编辑器实例之后tinymce.editors才会填充数组,因此您不能依赖它来获得执行初始化所需的数据。init()

我会为每种语言设置单独的初始化,并有一个基本配置,您只需使用 link_list 值更新,然后使用计算的配置进行初始化。

您始终可以使用 JavaScript 在编辑器实例的基础上修改/扩展您的标准初始化。

例如,从您的标准配置开始:

baseConfig = {
  selector: 'textarea'
  //everything here except your language specific configuration
  ....
}

...因为这只是一个简单的 JavaScript 对象,您可以在使用它初始化 TinyMCE 之前将其他属性/方法注入该对象。

例如:

customConfigEn = {
  link_list: "link_list.php?lang=en"
}

customConfigFr = {
  link_list: "link_list.php?lang=fr"
}

然后您可以将 customConfig“注入”到 baseConfig 中。最简单的方法是使用 jQuery 的 extend 方法:

$.extend(baseConfig, customConfigEn);

... 或者 ...

$.extend(baseConfig, customConfigFr);

...这将从 customConfig 中获取所有方法和属性并将它们添加到 baseConfig。完成后,您可以使用新更新的 baseConfig 加载 TinyMCE:

tinymce.init(baseConfig);

这种通用技术允许您创建具有所需的所有基本功能的“标准”配置,同时逐页注入其他配置选项。

注意:您也可以选择在呈现 HTML 页面之前在服务器上创建这些配置,但您没有提及您使用的服务器端语言,因此我无法说明您如何从服务器端执行此操作。

于 2017-05-15T16:30:09.090 回答