相关疑难解决方法(0)

C#代码片段和程序集TBB之间有什么区别?

我了解C#Code Fragments和.NET Assemblies为模块化模板开发提供了相同的功能.我们在Visual Studio中管理CME和汇编代码中的代码片段,但在Template Builder中使用相同的方法.

在代码方面,我可以创建一个C#代码片段模板构建块(TBB),例如:

var timeStamp = DateTime.Now.ToString("d MMM yyyy");
package.PushItem("timeStamp from fragment", package.CreateHtmlItem(timeStamp));
Run Code Online (Sandbox Code Playgroud)

我还可以通过实现如下的ITemplate,使用相同的代码创建.NET程序集模板构建块.

using System;
using Tridion.ContentManager.Templating;
using Tridion.ContentManager.Templating.Assembly;

namespace CreateAndBreakTemplates
{
  [TcmTemplateTitle("Add Date to Package")]
  public class AddDateToPackage : ITemplate
  {
    public void Transform(Engine engine, Package package)
    {
      var timeStamp = DateTime.Now.ToString("d MMM yyyy");
      package.PushItem("timeStamp from assembly", 
                       package.CreateHtmlItem(timeStamp));
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

文档解释"SDL外表套上插入在其预定的预定类的方法的代码片段." 看起来这个类实现了ITemplate并在下面添加了一些引用(我错过了什么?).

组件安装说明至少提及这些DLL.

  • Tridion.Common.dll
  • Tridion.ContentManager.dll
  • Tridion.ContentManager.Templating.dll
  • Tridion.ContentManager.Publishing.dll

片段和汇编之间的任何其他区别以及如何在两者之间进行选择?

tridion

15
推荐指数
4
解决办法
2911
查看次数

标签 统计

tridion ×1