特别是,我想到的情况是:
@@RenderComponentPresentation(Component, "<vbs-legacy-ct-tcm-uri>")@@
我遇到的问题是,在我的情况下,VBS 代码在尝试访问组件字段时会中断,给出“错误 13 类型不匹配 ..”。
(所以,如果我要给出答案,我会说:“部分,没有实际用途”)
编辑 上面的 DWT 来自另一个 CT,因此它实际上是组件链接的渲染,这就是为什么按照 Nuno 的建议的无参数重载将无法正常工作的原因。顺便说一句,VBS 中的以下行不会中断并给出正确的值:
WriteOut Component.ID
WriteOut Component.Schema.Title
编辑 2
Dominic 是绝对正确的:这是一个缺失的依赖项。
使此信息普遍有用的更多见解:
假设,原始 CT 看起来像这样(“VBScript [Legacy]”类型):
[%
Call RenderComponent(Component)
%]
该 CT 是从 PT 调用的,也是基于 VBS 的。那个 PT 一开始就有一大块“#include”语句。
现在情况发生了变化:同一个 CT 被另一个基于 DWT 的 CT 调用。显然(感谢大家的宝贵帮助!),现在任何地方都没有包含依赖项。
使原始 CT 再次工作的解决方案是明确手工挑选并包含所有必要的 VBS TBB,因此原始 CT 变为:
[%
#include "tcm:<uri-of-vbs-tbb>"
Call RenderComponent(Component)
%]