目前,作为从 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# 代码中的所有内容可能会节省一些前期费用,但会错过模块化模板的最强大功能(例如模块化)。
在比较新旧模板时,请考虑:
如果你能做到最后一点,你可以减少这种转换中的模板数量,同时创建有用和可重用的模板构建块。
从旧的旧模板迁移到模块化模板时,只有在您实施网站的新设计时才这样做。如果可能的话,您可以同时重新考虑您的网站解决方案的整个架构(发布模型)。
从技术角度来看,转向模块化模板肯定有好处,而且由于旧模板已被弃用,因此在支持方面肯定是这样。
但我敢肯定,您希望为您的 $$ 获得更多收益。