我可以为富文本编辑器配置文件上的图像插入按钮设置根文件夹吗?



我们有一个多站点解决方案,我们想为不同的站点建立不同的RTE配置文件。在这些配置文件中,我们希望能够在媒体库中设置一个网站特定的图像文件夹。我们还想为插入链接按钮设置一个特定于站点的根文件夹。

这可能是"开箱即用"吗?如果有,怎么做?

这是不可能使用单个模板开箱即用的。如果每个站点都有自己的模板集,那么你显然可以为每个站点设置不同的RTE配置文件,但这仍然不能解决将媒体库或内部链接限制为特定文件夹的问题。

您可以覆盖/sitecore/shell/Controls/Rich Text Editor/InsertLink/InsertLink.xml/sitecore/shell/Controls/Rich Text Editor/InsertImage/InsertImage.xml中的默认控件。

在这些中,您可以操作传递给DataContext的GUID

<CodeBeside Type="Sitecore.Shell.Controls.RichTextEditor.InsertLink.InsertLinkForm,Sitecore.Client"/>
<DataContext ID="InternalLinkDataContext" Root="{GUID}"/>
<DataContext ID="MediaDataContext" Root="{GUID}"/>

当前项作为查询字符串参数fo传递,您可以从后面的代码访问该参数,并使用您自己的逻辑通过覆盖InsertLinkForm类来设置正确的根。不幸的是,当前项没有传递给InsertImage.xml控件,因此需要传递上下文项id。

如果你看一下位于/sitecore/shell/controls/Rich Text Editor/RichText Command.js中的InsertImage命令的JS,那么这就是生成链接的位置。您可以修改RadEditorCommandList["InsertSitecoreMedia"]函数,以类似于InsertSitecoreLink的方式传递id。这里需要注意的是,我使用的是稍微老一点的Sitecore 7.2版本,其中可能存在链接/媒体不记得用户在同一位置选择和打开的问题。您可能想要验证传递的id,如果这样,您可以使用自己的参数。

将修改后的文件放在/sitecore/shell/Override中,Sitecore将使用这些文件。

这仍然不能帮助自定义RTE配置文件每个站点和传递值,但希望这有助于

最新更新