【发布时间】:2012-10-10 06:35:28
【问题描述】:
我在访问页面模板的 DWT 中的包变量时遇到问题。
我有一个包含 4 个 TBB 的复合页面模板,如下所示:
1) Constant TBB - 这个 TBB 将组件(嵌入式多值组件)的所有值作为键值对读取,并将它们推送到包中。 例如:
Item item = this._package.CreateStringItem(contentType, "test");
this._package.PushItem("key", item);
2) 页面模板的C# DLL - 包含页面模板的逻辑
3) 页面模板的DWT - 这里输出所有的包变量。
4) 默认完成操作
我面临的问题如下:
在我的 DWT 中,我想将组件模板的元数据与常量 TBB 中设置的包变量进行比较。
我使用的语法是:
<!-- TemplateBeginIf cond="ComponentTemplate.Metadata.section_name = key" -->
其中 key 是在常量 TBB 中设置的包名称,值为“test”
但不知何故,这个包变量“key”给出的值为 0 而不是测试。
谁能告诉我到底哪里出错了。
【问题讨论】:
-
试试:
-
你是如何检查变量值为0的?在条件之前尝试@@key@@,看看你得到了什么,然后与模板生成器中的包变量进行比较。
-
我也试过这个: 好像不行。
-
嗨 Vikas,我使用 @@key@@ 以同样的方式检查了它,然后我发现它的值为 0 。但在包中的模板生成器中,它向我显示了正确的值作为“测试”。
标签: tridion tridion-2011 dwt