Dreamweaver テンプレートでは、コンポーネントのフィールドに 2 つの方法でアクセスできます。
1.@@Component.Field.FieldName@@
2.@@RenderComponentField("FieldName",0)@@
同様に、コンポーネント プレゼンテーションにアクセスします。
1.RenderComponentPresentation()
別の方法でアクセスする方法はありますか。
Dreamweaver テンプレートでは、コンポーネントのフィールドに 2 つの方法でアクセスできます。
1.@@Component.Field.FieldName@@
2.@@RenderComponentField("FieldName",0)@@
同様に、コンポーネント プレゼンテーションにアクセスします。
1.RenderComponentPresentation()
別の方法でアクセスする方法はありますか。
質問を編集して、質問内容をより明確にするために少し明確にすることを検討する必要があります。あなたが却下したすべての回答とそのコメントを読んで、あなたが達成しようとしているのは、ページ上のコンポーネントプレゼンテーションを編集可能にし、他を編集可能にすることだと思います。
使用している SiteEdit のバージョンに応じて、2 つの解決策があります。
SiteEdit 2009 SP3 - 編集可能にしたくないコンポーネント テンプレートからインライン編集 TBB を削除する必要があります。ページは引き続きコンポーネント プレゼンテーションの上にホバーを生成するため、移動できます。
UI 2012 (新しい UI または Experience Manager) - コンポーネント テンプレートのチェックボックスを使用して、コンポーネント テンプレートごとにインライン編集を無効にできます。
コンポーネント プレゼンテーションのホバー オーバーも削除する必要がある場合、唯一の解決策は、ページ テンプレートのインライン編集機能を削除することだと思います (SE 2009 SP3 の場合は TBB を削除し、UI 2012 の場合はそれを無効にします)。ページ テンプレート) を作成し、必要なすべての SiteEdit マーキングをページ テンプレートで生成します。
これらすべてに対する興味深い質問は、「なぜ?」です。ページの一部のコンテンツでのみインライン編集を有効にする必要があるという要件は正確には何ですか。特定のユーザーグループの(編集)権限を通じてそれを達成することもできるためです。
Tridion、SiteEdit 2009、および新しい UI/Experience Manager に同梱されるデフォルトの TBB はすべて、コンポーネント プレゼンテーションとコンポーネント フィールドに関するマークアップの生成を要求します。それらが生成するマークアップ要素を制御できますが、現在、それらをオフにする方法はありません。
このような完全な制御を得るために、DWT テンプレートで使用する単純な拡張関数を作成しました。ここで見つけることができます: http://code.google.com/p/tridion-practice/wiki/TridionUI2012FunctionsForUseInHtmlTemplates
RenderComponentPresentationはページテンプレートからのものであり、最初の例はコンポーネントテンプレートからのもの、または繰り返し領域内などです。
<!-- TemplateBeginRepeat name="Components" -->
Fields.*FieldName*
<!-- TemplateEndRepeat -->
しかし、いずれにせよ、なぜあなたは尋ねているのですか?
次のコードを使用して、別のコンポーネント テンプレート内から RenderComponentPresentation を呼び出すこともできます。
@@RenderComponentPresentation(Component.ID, ComponentTemplate.ID)@@
引数は、レンダリングするコンポーネントの tcm ID と、レンダリングに使用するテンプレートです。
動的コンポーネント プレゼンテーションの場合、ページ テンプレートで以下を使用できます。
<tcdl:ComponentPresentation type="Dynamic" componentURI="${ComponentID}" templateURI="${DynamicComponentTemplateID}" />
ただし、この場合、これらの動的コンポーネント プレゼンテーションは発行ページ中に発行されません。したがって、ページを公開する前にそれらを公開する必要があります。