2

SDL Live Contentでは、Renderer のユース ケースを、コンポーネント プレゼンテーションの「レンダリング プロセスによって生成された出力を操作する」と説明しています。これは、Content Manager と Content Delivery の間、特に Content Distribution / Publishing の下にあります。

すべてのテンプレートにテンプレート ビルディング ブロック (TBB) を追加するのではなく、カスタム レンダラーを使用してすべての CP の出力を「グローバルに」変更できます。レンダラーを使用して、現在レンダリングされていないアイテム タイプを公開することもできます。カスタム レンダラーと CD 側のコードと共に、このアイテム タイプのカスタム リゾルバーを追加できます。

IRenderer.NET プロジェクトの下に実装しTridion.ContentManager.Publishing.Rendering、結果の dll を CMS の GAC に追加します。

質問

レンダラーを使用して、出力されたすべてのマークアップを操作またはラップしたり、すべての CP をラップしたりする方法がわかります。

  • これは、テンプレートが出力するものを「そのまま」操作するためのものですか? つまり、CM または CD API のいずれかにアクセスできますか?
  • このレンダラー ロジックは、特定の CMS インスタンスのすべてのパブリケーションとテンプレートに適用されますか?
  • ドキュメンテーションはアイテム タイプに言及していますが、TBB などのTridionアイテム タイプですか?

Bart Koopman は、SDLTridionWorld の How To Tackle Integrations 記事で、カスタム レンダラーが他の拡張ポイントのコンテキストでどのように機能するかについても説明しています。

Jaime Santos Alcón によって説明された Delivery-Side Renderers とは異なることを理解していますか?

4

1 に答える 1

4

これは確かに、標準のレンダラーが呼び出されるたびに実行されるものです。カスタムリゾルバーのユースケースは理解しやすいですが、原則は同じであり、どちらもパブリッシングパイプラインの一部です。

テンプレートをレンダリングするたびに実行されるカスタムレンダラーを作成する代わりに、同じ機能を持つすべてのテンプレートに追加されるテンプレートビルディングブロックを使用する必要があることを常にお勧めします。カスタムレンダラーの作成は、ある時点で忘れられる可能性があります。その後、何も変更されていないのに、出力が突然異なるのはなぜか疑問に思うでしょう。

于 2013-02-03T13:56:45.127 に答える