【问题标题】:What's a Non-Delivery Custom Renderer?什么是未交付自定义渲染器?
【发布时间】:2013-01-17 08:04:25
【问题描述】:

SDL Live Content 将渲染器的用例描述为组件表示的“操作渲染过程产生的输出”。这介于 Content Manager 和 Content Delivery 之间,特别是在 Content Distribution / Publishing 下。

我们可以使用自定义渲染器“全局”更改所有 CP 的输出,而不是向所有模板添加模板构建块 (TBB)。我们还可以使用渲染器发布当前未渲染的项目类型。我们可以为该项目类型添加自定义解析器以及自定义渲染器和 CD 端代码。

我们将在 .NET 项目中在 Tridion.ContentManager.Publishing.Rendering 下实现 IRenderer,并将生成的 dll 添加到 CMS 的 GAC。

问题

我可以看到我们将如何使用渲染器来操纵甚至包装所有输出的标记或包装所有 CP。

  • 这是为了“原始”操作我们的模板输出吗?换句话说,我们是否可以访问任何 CM 或 CD API?
  • 此渲染器逻辑是否适用于给定 CMS 实例中的所有发布和模板?
  • 文档中提到了项目类型是那些Tridion项目类型,例如TBB

Bart Koopman 还在 How To Tackle Integrations article on SDLTridionWorld 中描述了自定义渲染器如何在其他扩展点的上下文中工作。

我理解与Delivery-Side Renderers described by Jaime Santos Alcón不同?

【问题讨论】:

    标签: tridion


    【解决方案1】:

    这确实是每次调用标准渲染器时都会执行的操作。虽然自定义解析器的用例更容易理解,但原理是相同的,它们都是发布管道的一部分。

    我始终建议不要创建每次渲染模板时都会执行的自定义渲染器,而应该使用添加到具有相同功能的所有模板的模板构建块。创建自定义渲染器可能会在某个时间点被遗忘,然后您会想知道为什么当没有任何变化时输出突然不同。

    【讨论】:

    • 谢谢,努诺!对于我得到的每个全局,“每次”要求,几乎总是有一个例外。我可以看到 TBB 在哪些方面为我们提供了更好的灵活性。
    猜你喜欢
    • 2012-08-25
    • 2015-03-29
    • 2017-06-09
    • 2017-11-24
    • 2013-09-25
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    相关资源
    最近更新 更多