【问题标题】:Sitecore - multiple instances of a sublayout on a pageSitecore - 页面上子布局的多个实例
【发布时间】:2011-08-25 23:23:24
【问题描述】:

我们为我们的网站创建了一些可重用的组件,但在尝试将这些组件的多个实例添加到页面时遇到了问题。这是一个问题,因为 Sitecore 需要占位符键是唯一的。这是否意味着您永远不能在同一页面上添加多个带有占位符的子布局实例?

例子:

两列子布局 - 占位符 2column-col1 和 2column-col2 三列子布局 - 占位符 3column-col1、3column-col2 和 3column-col3 在页面上添加一个两列子布局,一个三列子布局,然后再添加一个两列子布局 现在有 2 个名为 2column-col1 的占位符和 2 个名为 2column-col2 的占位符

有没有办法解决这个问题?我们考虑在后面的用户控件代码中动态创建占位符键,但是如果您想使用占位符设置,这会导致问题。

这似乎是一件很平常的事情。有解决办法吗?

【问题讨论】:

    标签: sitecore sitecore6


    【解决方案1】:

    您可以做的是动态创建占位符键以获得所需的功能,然后手动创建 5-6 个占位符设置项并复制所有设置项。我已经在一个项目中做到了这一点,即使它非常难看,它也能很好地工作。

    如果您使用的是 sitecore 6.4+,您甚至可以使用克隆项目来创建占位符设置。这样,您将能够从原始项目控制允许的子布局,而所有其余的将仅继承这些值。

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      我相信这是您的 SDN 帖子的副本,但作为参考,我也会在此处链接我的博客帖子(带有原型解决方案代码)。

      http://www.techphoria414.com/Blog/Dynamic%20Placeholder%20Keys%20Prototype.aspx

      【讨论】:

      • -1 因为链接不再有效(Sitecore 许可错误!),所以答案目前无法使用。
      • 在前面的评论中,可以从Google cache 查看该博客,但理想情况下,此答案不依赖于链接。我一小时前添加的 -1 无法删除!
      • 感谢您让我知道许可证损坏。我认为给我打分是不公平的,因为这是一个相当复杂的答案。
      • 我认为这是公平的,因为没有页面它不再是没有那个细节的答案,但是快速整理它的荣誉。无意冒犯(这里有很多案例,人们长期放弃他们接受的答案)。如果您编辑帖子,它将允许我删除反对票(这是我的意图!)。
      【解决方案3】:

      在 Sitecore 6.3.1 中,web.config 中有一个设置

        <!--  DUPLICATE PLACEHOLDERS
              Indicate whether to process duplicate placeholders
              Default value: false
        -->
        <setting name="Rendering.ProcessDuplicatePlaceholders" value="false" />
      

      我认为此设置适用于所有版本的 Sitecore 6。

      你应该试一试,把它改成“真”。

      【讨论】:

        猜你喜欢
        • 2012-11-18
        • 1970-01-01
        • 1970-01-01
        • 2019-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多