私はジョンに同意します。これをRTFのコンポーネントリンクとして実装します。ただし、テンプレートコードは使用せず、代わりにTridionのLinkTagHandlerをオーバーライドします。doEndTagメソッドでは、リンクされたコンポーネントを通常の動的リンクとして解決するか(この場合はスーパークラスを呼び出すだけ)、DCPをそこに挿入するか(この場合は呼び出すことができます)を確認できます。 ComponentPresentationTagHandler)。
次に、TridionのデフォルトのLinkTagHandlerをオーバーライドして、タグハンドラーを構成できます(これは、cd_deployer_conf.xmlで実行できます)。念のために言っておきますが、私はこれを試したことがありませんが、なぜうまくいかないのかわかりません。
カスタムタグハンドラーを構成するには、cd_deployer_conf.xmlに以下を追加します。
<TCDLEngine>
<Properties>
<!-- keep whatever you have in this section! -->
</Properties>
<Tags>
<Tag Namespace="tcdl" Name="ContentHeader"><Handler Class="com.tridion.tcdl.tags.ContentHeaderTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="Link"><Handler Class="com.mycompany.tridion.extensions.CustomTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="Link"><Handler Class="com.tridion.tcdl.tags.DynamicLinkInfoTracker"/></Tag>
<Tag Namespace="tcdl" Name="TargetGroup"><Handler Class="com.tridion.tcdl.tags.TargetGroupTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="ComponentPresentation"><Handler Class="com.tridion.tcdl.tags.ComponentPresentationTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="FirstLine"><Handler Class="com.tridion.tcdl.tags.FirstLineTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="IncrementTrackingKey"><Handler Class="com.tridion.tcdl.tags.IncrementTrackingKeyTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="PositionMarker"><Handler Class="com.tridion.tcdl.tags.PositionMarkerTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="ContextProperty"><Handler Class="com.tridion.tcdl.tags.ContextPropertyTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="Dependency"><Handler Class="com.tridion.tcdl.tags.DependencyTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="Comment"><Handler Class="com.tridion.tcdl.tags.CommentTagHandler"/></Tag>
<Tag Namespace="tcdl" Name="TaxonomyControl"><Handler Class="com.tridion.tcdl.tags.TaxonomyTagHandler"/></Tag>
</Tags>
</TCDLEngine>
重要な注意事項:組み込みのタグハンドラーのいずれかをオーバーライドする場合は、それらすべてを指定する必要があります。