Vin*_*ant 2 dwt tridion tridion-2011
我在访问页面模板的DWT中的包变量时遇到了问题.
我有一个4 TBB的复合页面模板如下:
1)常量TBB - 该TBB将组件的所有值(嵌入式多值组件)读取为键值对,并将它们推送到包中.例如:
Item item = this._package.CreateStringItem(contentType, "test");
this._package.PushItem("key", item);
Run Code Online (Sandbox Code Playgroud)
2)页面模板的C#DLL - 包含页面模板的逻辑
3)页面模板的DWT - 此处输出所有包变量.
4)默认完成操作
我面临的问题如下:
在我的DWT中,我想比较Component Component模板的元数据和Constant TBB中设置的包变量.
我使用的语法是:
<!-- TemplateBeginIf cond="ComponentTemplate.Metadata.section_name = key" -->
Run Code Online (Sandbox Code Playgroud)
其中key是在常量TBB中设置的包名称,其值为"test"
但不知何故,这个包变量"key"给出的值为0而不是测试.
有人能让我知道我哪里错了.
您应该通过替换来指定要添加到包中的项目类型:
Item item = this._package.CreateStringItem(contentType, "test");
Run Code Online (Sandbox Code Playgroud)
同
Item item = this._package.CreateStringItem(contentType.Text, "test");
Run Code Online (Sandbox Code Playgroud)
您还应该使用确认变量正确传递给DWT
@@test@@
Run Code Online (Sandbox Code Playgroud)
在条件之外.这将显示您要与之比较的值.
| 归档时间: |
|
| 查看次数: |
508 次 |
| 最近记录: |