私はJohnに同意します。これは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>
一つの重要な注意:あなたは、組み込みのタグハンドラのいずれかを上書きすることにした場合、あなたはすべて指定する必要がそのうちの!
リッチテキストフィールドからDCPを参照する方法があるかどうかは、ページテンプレートのDWTと同じように思っています。答えは「はい」です。 DWFの場合と同じように、同じaspまたはjavaコードをRTFのソースタブに追加するだけです。それは醜いことですが、あなたはそれを行うことができます。 –
はい、それは私が恐れる技術的な質問です。 –