【问题标题】:How can I render component link field in a DWT?如何在 DWT 中呈现组件链接字段?
【发布时间】:2012-05-29 15:34:51
【问题描述】:

我有一个包含组件链接类型的多值字段的架构。

当我为这个组件编写 DWT TBB 时,如何呈现这个字段(组件链接及其模板)?

【问题讨论】:

标签: tridion tridion-2011


【解决方案1】:

组件链接字段链接到组件 - 它不指定模板。因此,我假设您要指定要在 DWT 上使用的组件模板。

<!-- TemplateBeginRepeat name="Component.Fields.YourComponentLinkFieldName" -->
   @RenderComponentPresentation(Field, "tcm:1-2-32")@@
<!-- TemplateEndRepeat -->

因此,这会循环遍历多值字段名称 YourComponentLinkFieldName 的所有值,并使用组件模板 tcm:1-2-32 渲染其中链接的组件。

所有这些主题都与您的问题相关:

  1. Retrieving values of a linked component in Dreamweaver TBB - and making it SiteEditable
  2. How to handle nested repeating regions in Dreamweaver TBBs in SDL Tridion 2011 SP1
  3. Retrieving values of a linked component in Dreamweaver TBB - and making it SiteEditable

我建议你阅读它们并应用你对它们的理解。

【讨论】:

  • 请记住,在将内容移植到另一个环境时,在模板中硬编码 tcm id 将不起作用。您可能希望通过参数提供 CT tcm id。
  • 嵌套@@@@ 构造不起作用,但您可以轻松尝试而不是询问。如果你必须嵌套,你可以做类似@@outer${inner}@@.
  • 您可以使用类似 package.PushItem("MyCT", "tcm:1-2-32") 的 C# TBB 将 CT URI 推送到包中。然后在您的 DWT 中提取它。当然,您的 C# TBB 也不应该对 TCM URI 进行硬编码,而是从关系中查找它。或者它可以按标题将所有相关的 CT 推送到包中。然后在您的 DWT 中,您可以按标题查找它们。
猜你喜欢
  • 2019-02-10
  • 1970-01-01
  • 2019-01-06
  • 1970-01-01
  • 2020-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多