Jam*_*ord 6 sitecore sitecore-media-library sitecore7.2
我们有一个多站点解决方案,我们希望为不同的站点建立不同的RTE配置文件.在这些配置文件中,我们希望能够在媒体库中设置特定于站点的Images文件夹.我们还想为"插入链接"按钮设置站点特定的根文件夹.
这可能是"开箱即用"吗?如果是这样,怎么样?
使用单个模板不可能做到这一点。如果每个站点都有自己的模板集,那么您显然可以为每个站点将源设置为不同的RTE配置文件,但这仍然不能解决将媒体库或内部链接限制在特定文件夹的问题。
您可以覆盖默认控件/sitecore/shell/Controls/Rich Text Editor/InsertLink/InsertLink.xml
和/sitecore/shell/Controls/Rich Text Editor/InsertImage/InsertImage.xml
。
在这些方法中,您可以操纵GUID
传递给DataContext的操作。
<CodeBeside Type="Sitecore.Shell.Controls.RichTextEditor.InsertLink.InsertLinkForm,Sitecore.Client"/>
<DataContext ID="InternalLinkDataContext" Root="{GUID}"/>
<DataContext ID="MediaDataContext" Root="{GUID}"/>
Run Code Online (Sandbox Code Playgroud)
当前项目作为querystring参数传递fo
,您可以从后面的代码中访问该参数,并使用自己的逻辑通过覆盖InsertLinkForm
该类来设置正确的根。不幸的是,当前项没有传递给InsertImage.xml控件,因此需要传递上下文项ID。
如果您查看位于其中的InsertImage命令的JS,/sitecore/shell/controls/Rich Text Editor/RichText Command.js
则这是生成链接的位置。您可以修改RadEditorCommandList["InsertSitecoreMedia"]
功能以类似于传递ID InsertSitecoreLink
。需要注意的是,我使用的是Sitecore 7.2的较旧版本,其中的链接/媒体可能无法记住用户的选择并在同一位置打开而出现问题。您可能需要验证传递的ID,如果可以,则可以使用自己的参数。
将修改后的文件放入其中/sitecore/shell/Override
,Sitecore将改为使用这些文件。
这仍然不利于每个站点的自定义RTE配置文件并传递值,但希望能有所帮助。
归档时间: |
|
查看次数: |
687 次 |
最近记录: |