我们有一个多站点解决方案,我们希望为不同的站点建立不同的 RTE 配置文件。在这些配置文件中,我们希望能够在媒体库中设置站点特定的图像文件夹。我们还想为“插入链接”按钮设置站点特定的根文件夹。
这可能是“开箱即用”吗?如果是这样,如何?
最佳答案
使用单个模板开箱即用是不可能的。如果每个站点都有自己的模板集,那么您显然可以将源设置为每个站点的不同 RTE 配置文件,但这仍然不能解决将媒体库或内部链接限制为特定文件夹的问题。
您可以覆盖 /sitecore/shell/Controls/Rich Text Editor/InsertLink/InsertLink.xml
中的默认控件和 /sitecore/shell/Controls/Rich Text Editor/InsertImage/InsertImage.xml
.
在这些中,您可以操作 GUID
传递给数据上下文。
<CodeBeside Type="Sitecore.Shell.Controls.RichTextEditor.InsertLink.InsertLinkForm,Sitecore.Client"/>
<DataContext ID="InternalLinkDataContext" Root="{GUID}"/>
<DataContext ID="MediaDataContext" Root="{GUID}"/>
当前项目作为查询字符串参数传递
fo
您可以从后面的代码中访问它并使用您自己的逻辑通过覆盖 InsertLinkForm
来设置正确的根目录。类(class)。不幸的是,当前项没有传递给 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 配置文件和传递值没有帮助,但希望这会有所帮助。
关于sitecore - 我可以在富文本编辑器配置文件上为图像插入按钮设置根文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25401623/