如何在sitecore 6.5中的javascript中打开和处理richtext编辑器?

时间:2012-11-13 09:39:51

标签: telerik sitecore sitecore6 richtext

我一直在开发一个自定义字段,其中包含一个列表。 我必须能够在richtext编辑器中编辑列表中的选定项目。 (这是唯一缺失的部分)。

我已经从c#代码Opening Rich Text Editor in custom field of Sitecore Content Editor开始阅读有关开放的主题。 这适用于“添加”按钮,因为我必须打开RTE为空(使用默认文本...),但不能用于编辑按钮。

我的答案是:

  • 以某种方式在编辑按钮的消息字段list:edit(id=$Target)中传递所选索引(如list:edit(id=$Target,index=$SelectedIndex),但我不知道如何填充$ SelectedIndex
  • 以某种方式在重写的HandleMessage方法中获取列表的索引。我能够获得所选的 Sitecore.Context.ClientPage.ClientRequest.Form[ID of list],但仅此一点没有帮助,因为如果两个listitem等于,我将无法决定编辑哪一个。< / LI>
  • 在javascript中完全打开和处理richtext编辑器。正如我在内容编辑器中看到的一些脚本,我试图这样做,但我无法理解它:

    richtext editor url:

    var page = "/sitecore/shell/Controls/Rich Text Editor/EditorPage.aspx";

    一些参数:

    var params = "?da=core&id&ed=" + id + "&vs=1&la=en&fld=" + id + "&so&di=0&hdl=H14074466&us=sitecore%5cadmin&mo";

    以及我不确定的部分:

    var result = scForm.browser.showModalDialog(page + params, new Array(window), "dialogHeight:650px; dialogWidth:900px;");

    这样RTE按预期打开(我想我可以从javascript获取所选索引并稍后将其作为参数传递)。但是,当我单击确定时,我从EditorPage.js saveRichText函数中获取异常:Cannot read property 'ownerDocument' of null。我错过了一些参数吗?

一旦我能够做到这三个方法中的任何一个对我来说都是好的(我也会为新的更好的方式开放)。 提前谢谢!

的Tamas

1 个答案:

答案 0 :(得分:0)

我能够在邮件中输入一些javascript:

list:Edit(id=$Target,index='+document.getElementById(ID of the select using $Target ).selectedIndex+')

这样我就得到了HandleMessage中的索引。

我现在正在等待更好的解决方案。