如何在Dreamweaver模板构建块中检查嵌入式架构中的字段是否为空

Pat*_*tan 4 tridion

我正在使用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

Dav*_*ker 6

在尝试呈现值之前,您应该能够使用Dreamweaver条件区域来检查值.

例如:

<!-- TemplateBeginIf cond="Component.Fields.Field" -->
    @@Component.Fields.Field@@
<!-- TemplateEndIf -->
Run Code Online (Sandbox Code Playgroud)