.NET中VBScript和.NET函数的映射

时间:2012-08-03 09:20:21

标签: tridion tridion-2011

目前,我们正在将VBScript模板转换为模块化模板,作为从SDL Tridion 5.3升级到SDL Tridion 2011 SP1的一部分,但在此过程中我们面临着在.NET中找到正确等效功能的挑战。

例如.NET DisplayPublishedComponentLinkMakeTcdlComponentLink

中这两个VBScript函数的等效函数

任何人都可以向我提供有关.NET中这些VBScript函数映射的信息吗?

3 个答案:

答案 0 :(得分:9)

模块化模板中没有VBScript函数(在VBScript模板中使用)的精确映射,因为这两个模板模型完全不同。

迁移VBScript模板时,您永远不应该尝试转换(或重写)它,但要查看其要求并从头开​​始构建模块化模板以满足这些要求。这可能听起来效率较低,但实际上并不是因为模块化模板模型具有不同的好处,您将开始使用它们。

为了提供更多细节,在模块化模板中,您需要使用Dreamweaver TBB和.NET程序集TBB来分离设计和功能,而在VBscript模板中,这一切都是混合的。

您提到的功能包含功能和设计,在模块化模板中,您应该会发现它们甚至不再需要。例如,您只需在Dreamweaver TBB中使用以下代码:

<a tridion:href="@@LinkField.ID@@">@@LinkText@@</a>

您可能还会对以下有关模块化模板的文章感兴趣,以获取有关其概念以及如何使用它们的更多细节:

答案 1 :(得分:1)

我同意Bart从头开始。简单地复制C#代码中的所有内容可能会节省一些,但是错过了模块化模板的最强功能(例如模块化)。

比较旧模板和新模板时,请考虑:

  • 将布局和标记生成代码移至DWT TBB
  • 跟踪VBScript模板之间的重复逻辑,并考虑创建C#TBB以组合功能
  • 查找因上下文或硬编码值而异的模板功能,并将这些功能移至参数架构或C#TBB逻辑

如果您可以做到最后一点,您可以在创建有用且可重复使用的模板构建块的同时减少此类转​​换中的模板数量。

答案 2 :(得分:0)

从旧的旧模板迁移到模块化模板时,只有在实施网站的新设计时才能执行此操作。如果可能的话,您可以同时重新思考网站解决方案的整个架构(发布模型)。

从技术角度来看,转向模块化模板肯定会带来好处,并且因为遗留模板已被删除,因此确保支持。

但我相信你想为你的$$获得更多的收获。