我们有一个“组件A”,它具有“嵌入字段”类型的多值字段。 嵌入字段又具有“组件链接”类型的多值字段。
这看起来像: 组件A - >嵌入式Shcema字段 - >组件链接
如何在Dreamweaver中迭代并访问'Component Links '的字段? 组件字段也支持三种不同的模式,我们想在Dreamweaver中检查这些模式名称。
我发现this post很有用。但更多细节确实很棒。
答案 0 :(得分:4)
看看这些问题:
How to handle nested repeating regions in Dreamweaver TBBs in SDL Tridion 2011 SP1
Retrieving values of a linked component in Dreamweaver TBB - and making it SiteEditable
来自Tridion练习食谱的这个页面:
它们涵盖了访问DWT中的字段时可能遇到的最常见问题。
如果这些问题没有回答您的问题, 更新您的问题 :
答案 1 :(得分:3)
您可以轻松地遍历多值嵌入字段的组件链接,但没有直接获取组件链接值的方法,您必须使用dwt扩展名或.net tbb。 sdltridionworld.com上有一些可用。
我之前使用嵌套模板做过这个。您还可以根据循环中组件链接字段组件的模式,从主dwt tbb尝试嵌套/子模板。
我还建议使用剃须刀模板。
答案 2 :(得分:2)
您可以迭代嵌入式架构字段段落中的多值字段段落,如下所示:
<!-- TemplateBeginRepeat name="Component.Fields.paragraphs" -->
<h2>@@Field.header@@ (@@TemplateRepeatIndex@@)</h2>
<!-- TemplateBeginRepeat name="Field.paragraph" -->
<p>@@Field@@</p>
<!-- TemplateEndRepeat -->
<!-- TemplateEndRepeat -->
答案 3 :(得分:2)
正如Vikas之前提到的,重复多值嵌入式架构字段的多值组件链接字段相对简单。您的DWT代码应遵循以下形式:
<!-- TemplateBeginRepeat name="XML Name of Embedded Schema Fields" -->
<!-- TemplateBeginRepeat name="XML Name of multivalued Component Link field" -->
@@Field@@ - Should write out the TCM ID of your linked component
<!-- TemplateEndRepeat -->
<!-- TemplateEndRepeat -->
但是,您无法使用“开箱即用”的Dreamweaver模板访问这些组件的字段或架构详细信息。
你可以:
@@Get(...)@@
语法@@RenderComponentPresentation(Field, "tcm:x-xx-32")@@
答案 4 :(得分:1)
请尝试使用以下代码:
<!-- TemplateBeginRepeat name="paragraphs" -->
<!-- TemplateBeginRepeat name="Internal_Link" -->
<!-- TemplateBeginIf cond = "Internal_Link != ''" -->
<p> @@Component.ID@@ </p>
<!-- TemplateEndIf -->
<!-- TemplateEndRepeat -->
<!-- TemplateEndRepeat -->
要检查第0个组件,您可以使用以下代码:
<!-- TemplateBeginRepeat name="paragraphs0.Internal_Link" -->