我了解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 ×1