我正在尝试编写 Dreamweaver TBB,但我被困在需要在不同模板级别获取字段值的地方。
下面是我的 XML,我需要将 formField 级别的 inputType 字段获取到输入模板级别。
<formField>
<divClassName>fieldClassName</divClassName>
<label>Please enter your Name</label>
<labelId>labelNameId</labelId>
<inputType>text</inputType>
<input>
<inputName>sam</inputName>
<inputId>ssss</inputId>
<inputSize>40</inputSize>
<inputLabel>xxx</inputLabel>
<inputValue>zzz</inputValue>
</input>
<input>
<inputName>gf</inputName>
<inputId>g</inputId>
<inputSize>fdg</inputSize>
<inputLabel>sg</inputLabel>
<inputValue>gsdfg</inputValue>
</input>
<param1>ssss</param1>
<param2>ssss</param2>
</formField>
要获得相同级别的值,我们可以使用
<!-- TemplateBeginRepeat name="Component.Fields.formField" -->
@@inputType@@
<!-- TemplateEndRepeat -->
但我的要求是在输入模板级别获取 inputValue
<!-- TemplateBeginRepeat name="input" -->
@@inputType@@
<!-- TemplateEndRepeat -->
此代码无法返回,因为输入模板级别不存在 inputType。所以我尝试使用:
<!-- TemplateBeginRepeat name="input" -->
@@RenderComponentField("formField[0].inputType",0)@@
<!-- TemplateEndRepeat -->
这里有两个问题,当我使用 RenderComponentField 时,输出如下所示:
<tcdl:ComponentField name="formField[0].inputType" index="0">
text
</tcdl:ComponentField>
它返回值以及我不需要的 tcdl 标签。
其次,我需要使用而不是直接给出 0 的索引TemplateRepeatIndex
,但是如果我使用它会给出错误@@RenderComponentField("formField[TemplateRepeatIndex].inputType",0)@@
那么如果我们想在不同的模板级别获取字段值,我们如何实现这一点。