预测动态占位符的占位符

时间:2016-09-14 08:41:03

标签: sitecore sitecore8

我正在使用Fortis中的动态占位符,但需要设置动态占位符包含渲染的页面模板。我通过在页面模板的标准值上设置布局细节来设置页面模板。

我无法在此成功,因为动态占位符后缀为生成的GUID。有没有办法预测这个GUID?根据文档,GUID是使用以下逻辑生成的:

  

动态占位符只需使用呈现ID即可创建唯一的占位符名称。如果渲染中有多个具有相同名称的动态占位符,它还会附加一个递增的数字

我尝试了另一种方法,使用自制的动态占位符库,它只是在动态占位符前加上一个序列号,例如: row1,row2,row3。但是这种方法使得内容编辑器无法在体验编辑器中移动行,因为行内的内容与固定数字相关联,当移动行时,这些数字会发生变化。

1 个答案:

答案 0 :(得分:2)

由于这个问题已在sitecore.stackexchange.com上得到解答,我也想在这里提出答案。归功于Richard SealThomas D

托马斯D: 您可以尝试使用体验编辑器打开标准值项,并添加您喜欢的渲染。

Richard Seal: 这是Thomas D提到的方法的替代方案。

Fortis解决方案使用UID进行附加到您输入的占位符键的渲染。您可以通过更改为原始值视图并将xml从渲染或最终渲染字段中复制来实现此目的。

查找包含占位符的渲染。会有一个像这样的xml元素:

<r id="{CA76EB6F-2934-4B8A-BB6A-508A8E44A7C5}" 
   ph="body" 
   uid="{0FD41EBD-43CF-4647-8A0F-F1F1D2E00CCD}" />

也可能有其他领域。重要的2是id,它是渲染项和uid的项ID,这是添加到占位符键的唯一呈现ID。

密钥构建如下:string.Format(&#34; {0} _ {1}&#34;,placeholderName,renderingId);

因此,如果您有一个名为title的占位符键,则上述xml代码段的键将为:title_ {0FD41EBD-43CF-4647-8A0F-F1F1D2E00CCD}