1

请告诉我如何在 Tridion 2011 的复合模板(使用 C#fragment)中调用 Vbscript 函数?

4

3 回答 3

4

我很确定这是不可能的。您不能将旧模板与模块化模板混合使用。

于 2013-04-03T14:01:10.273 回答
3

听起来您正在将传统样式的 VBScript 页面模板与当前样式的复合组件模板(或类似的东西)混合在一起。混合这两种类型(有时)是可能的,但是您不能像使用纯 VBScript 设置那样从组件模板调用页面模板中的函数。

根据您的用例,您需要将 VBScript 函数的功能重新实现为 Dreamweaver 模板可调用自定义函数或基于 .Net 的模板构建块(C# 片段.Net 程序集)。

于 2013-04-03T14:06:59.053 回答
2

好的 - 只是为了好玩,一个严格的字面答案。请注意,我不提倡这种方法。

  1. 用 VBScript 编写函数
  2. 将您的 VbScript 文件转换为Windows 脚本组件
  3. 为您的 Windows 脚本组件创建一个 .NET 互操作包装器
  4. 把东西放在 GAC 我应该认为......
  5. 从您的 C# 片段中调用它

正如我所说 - 这是对您的问题的严格字面回答。可以说技术上可以按照您的要求进行操作就足够了,但这不会有用,因为除了处理所有这些层的所有技术难题之外,您想要在模板中做的通常是调用Tridion API,当然,VBScript 模板环境中可用的 API 与复合模板中可用的 API 不同。

在实践中,您可能会发现您的旧 VBScript 模板无论如何都需要重新编写。偶尔这样做是一件好事。

于 2013-04-18T22:00:39.037 回答