我们为网站创建了一些可重用的组件,并且在尝试将多个这些组件的实例添加到页面时遇到了问题。这是一个问题,因为Sitecore需要占位符键是唯一的。这是否意味着你永远不能在同一页面上添加一个带有占位符的子布局实例?
示例:
两列子布局 - 占位符2column-col1和2column-col2 三列子布局 - 占位符3column-col1,3column-col2和3column-col3 在页面上添加一个两列子布局,一个三列子布局,然后另一个两列子布局 现在有2个占位符,名称为2column-col1,2个占位符,名称为2column-col2
这有什么办法吗?我们考虑在后面的用户控制代码中动态创建占位符键,但如果您想使用占位符设置,则会导致问题。
似乎想做的事情很常见。有解决方法吗?
答案 0 :(得分:3)
您可以做的是动态创建占位符键以获得所需的功能,然后手动创建5-6个占位符设置项并复制所有这些项的设置。我在一个项目中完成了这项工作,即使它非常难看也很有效。
如果您使用的是sitecore 6.4+,您甚至可以使用克隆的项目来创建占位符设置。这样,您就可以从原始项目中控制允许的子布局,其余所有子布局都将继承这些值。
希望有所帮助。
答案 1 :(得分:2)
我认为这是您的SDN帖子的副本,但作为参考,我也将链接我的博客帖子(带有原型解决方案代码)。
http://www.techphoria414.com/Blog/Dynamic%20Placeholder%20Keys%20Prototype.aspx
答案 2 :(得分:1)
在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。
您应该尝试将其更改为“true”。