目前,作为从 SDL Tridion 5.3 升级到 SDL Tridion 2011 SP1 的一部分,我们正在将 VBScript 模板转换为模块化模板,但在这样做的同时,我们在 .NET 中寻找正确的等效函数时面临挑战。
例如,这两个 VBScript 函数在 .NET 中的等效函数DisplayPublishedComponentLink和MakeTcdlComponentLink
任何人都可以向我提供有关这些 VBScript 函数在 .NET 中的映射的信息吗?
目前,作为从 SDL Tridion 5.3 升级到 SDL Tridion 2011 SP1 的一部分,我们正在将 VBScript 模板转换为模块化模板,但在这样做的同时,我们在 .NET 中寻找正确的等效函数时面临挑战。
例如,这两个 VBScript 函数在 .NET 中的等效函数DisplayPublishedComponentLink和MakeTcdlComponentLink
任何人都可以向我提供有关这些 VBScript 函数在 .NET 中的映射的信息吗?
模块化模板中没有 VBScript 函数(在 VBScript 模板中使用)的精确映射,因为这两个模板模型完全不同。
在迁移 VBScript 模板时,您永远不应该尝试只是转换(或重写)它,而是查看它的要求并从头开始构建一个满足这些要求的模块化模板。这可能听起来效率较低,但实际上并不是因为模块化模板模型具有不同的好处,您将开始使用这些好处。
更详细地说,在模块化模板中,您应该使用 Dreamweaver TBB 和 .NET 程序集 TBB 将设计和功能分开,而在 VBscript 模板中,这一切都是混合的。
您提到的功能既包含功能又包含设计,在模块化模板中您应该会发现它们甚至不再需要。例如,您可以在 Dreamweaver TBB 中简单地使用以下代码:
<a tridion:href="@@LinkField.ID@@">@@LinkText@@</a>
您可能还对以下有关模块化模板的文章感兴趣,以获取有关其概念以及如何使用它们的更多详细信息:
我同意 Bart 从头开始的观点。简单地复制 C# 代码中的所有内容可能会节省一些前期费用,但会错过模块化模板的最强大功能(例如模块化)。
在比较新旧模板时,请考虑:
如果你能做到最后一点,你可以减少这种转换中的模板数量,同时创建有用和可重用的模板构建块。
从旧的旧模板迁移到模块化模板时,只有在您实施网站的新设计时才这样做。如果可能的话,您可以同时重新考虑您的网站解决方案的整个架构(发布模型)。
从技术角度来看,转向模块化模板肯定有好处,而且由于旧模板已被弃用,因此在支持方面肯定是这样。
但我敢肯定,您希望为您的 $$ 获得更多收益。