我正在使用SDL Tridion 2011 SP1.我正在为组件创建Dreamweaver TBB.在我的组件中,一些字段是空的.但是在我的组件TBB中,我想检查字段是否为空,我不应该渲染它.如果字段不为空,那么我应该渲染并显示该值.我在检查嵌入字段中子字段的内容时遇到问题.
在我的组件上有一个名为"EMBFIELD"的多值嵌入式模式字段.EMBFIELD模式有一个名为"text"的文本字段.我想检查文本字段是否为空.如果它不为空,我必须遍历该字段以呈现值.
我必须通过"RenderComponentField"渲染字段.当我尝试渲染它时显示该字段不存在的一些错误.
我认为这可以使用If块来完成.
<!-- TemplateBeginIf cond="Component.Fields.EMBFIELD" -->
<!-- TemplateBeginRepeat name="Component.Fields.EMBFIELD" -->
<!-- TemplateBeginIf cond="Component.Fields.EMBFIELD.text" -->
<div>@@RenderComponentField("Component.Fields.EMBFIELD.text",TemplateRepeatIndex)@@</div>
<!-- TemplateEndIf -->
<!-- TemplateEndRepeat -->
<!-- TemplateEndIf -->
Run Code Online (Sandbox Code Playgroud)
但它给出的错误就像
内部错误:上下文组件组件没有字段Component.Fields.conditionalText.text
在尝试呈现值之前,您应该能够使用Dreamweaver条件区域来检查值.
例如:
<!-- TemplateBeginIf cond="Component.Fields.Field" -->
@@Component.Fields.Field@@
<!-- TemplateEndIf -->
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1854 次 |
| 最近记录: |