【问题标题】:Mapping of VBScript and .NET functions in .NET.NET 中 VBScript 和 .NET 函数的映射
【发布时间】:2012-08-03 09:20:20
【问题描述】:

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

例如,这两个 VBScript 函数在 .NET DisplayPublishedComponentLinkMakeTcdlComponentLink 中的等效函数

谁能提供有关这些 VBScript 函数在 .NET 中的映射的信息?

【问题讨论】:

  • 请添加更多细节,如果可能,请提供您现有功能的代码。
  • Robert Curlette 似乎认为将 Razor 模板与 Tridion 一起使用提供了从 VBscript 模板最直接的迁移路径。他在这里给出了两者之间的一些示例映射:code.google.com/p/razor-mediator-4-tridion/wiki/…。 (请注意,Razor Mediator 不是 SDL 产品,但人们似乎从中受益匪浅)

标签: tridion tridion-2011


【解决方案1】:

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

在迁移 VBScript 模板时,您绝不应该只尝试转换(或重写)它,而是查看它的要求并从头开​​始构建一个满足这些要求的模块化模板。这听起来可能效率较低,但实际上并非如此,因为模块化模板模型具有不同的优势,您将开始使用这些优势。

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

      从技术角度来看,转向模块化模板肯定有好处,而且由于旧模板已被弃用,因此在支持方面肯定是这样。

      但我敢肯定,您希望为您的 $$ 获得更多收益。

      【讨论】:

        猜你喜欢
        • 2015-02-26
        • 2010-09-30
        • 1970-01-01
        • 2010-10-18
        • 2010-11-07
        • 1970-01-01
        • 2011-05-31
        • 2010-11-10
        • 2011-06-27
        相关资源
        最近更新 更多