【问题标题】:Sitecore: Template field source dynamic targetting based on current SiteContextSitecore:基于当前 SiteContext 的模板字段源动态定位
【发布时间】:2012-11-27 13:47:01
【问题描述】:

基本上,我们目前在单个站点核心安装上进行了多站点设置。因此我们在内容节点下有一个这样的结构:

  • 站点 1
    • 内容 1
  • 站点 2
    • 内容 2

现在我们当然希望尽可能多地重用我们的模板,所以我们会有这样的模板:

Templatename: Webpage
Sections: Data
Fields: Title, Body, Image

现在对于“图像”字段源,我们通常会将其设置为 /Media Library/Images,但由于我们有 2 个单独的站点,我们希望在媒体库中镜像结构,例如:

  • 媒体库
    • 站点 1
      • 图片
    • 站点 2
      • 图片

但是我们如何在模板上定义源呢?

【问题讨论】:

    标签: sitecore sitecore6 sitecore-media-library


    【解决方案1】:

    没有简单的方法可以实现您想要的。 你必须用你自己的副本覆盖“Sitecore.Shell.Applications.ContentEditor.Image”。

    然后重写大部分 BrowseImage 方法,并找到一些方法来选择它应该选择的路径。

    如果您支持 webedit,您还必须对命令“webedit:chooseimage”执行此操作。

    【讨论】:

    • 我看了Sitecore.Shell.Applications.ContentEditor.Image类。基本上,在这种情况下,我的目标是这一行:options2.Root = item3;,它被填满了。string text = StringUtil.GetString(new string[] { this.Source, "/sitecore/media library" });Item item3 = Client.ContentDatabase.GetItem(text, language); 行的来源,我注意到 webedit 命令运行基本上复制粘贴代码也访问 Source 属性.因此,我由此得出结论,我最好创建一个继承自原始图像的类并覆盖 Source 属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多