2

RenderComponentPresentation メソッドを使用して、SiteEdit 編集可能コンテンツ スクリプトを呼び出して TBB からコンテンツを出力することは可能ですか?

現在、そのコンテンツを囲む赤い枠線を取得しています。右上隅のアイコンにカーソルを合わせると、削除されたと表示されます。ただし、コンポーネントのコンテンツは削除されず、コンポーネント テンプレートまたはページの変更はすべて再公開されており、コンポーネント自体も動的コンポーネントではありません。

編集可能なスクリプトを TBB から直接呼び出している場合、SiteEdit は機能していますが、RenderComponentPresentationメソッドを使用して別のコンポーネント テンプレートを呼び出してそのスクリプトを出力している場合は機能します。赤い境界線だけが表示され、それが削除されたと言っています。

編集可能なスクリプト: (TBB から直接作業)

<!-- TemplateBeginIf cond="Content != ''" -->
<tcdl:ComponentField name="Content">${Content}</tcdl:ComponentField>
<!-- TemplateEndIf -->

TBB 内で以下のメソッドを呼び出し、常に赤い境界線を取得する RenderComponentPresentation(ComponentID, ComponentTemplateID)

環境: Tridion 2011、SiteEdit 2009 SP3、Windows Server 2008

4

2 に答える 2

1

現在のページにないコンポーネントをレンダリングしている場合、SiteEdit はそれが削除されたと見なすことが予想されます。

コンポーネント プレゼンテーションを「クエリ ベース」としてマークする必要があります。これにより、SiteEdit はページ上でそれを予期しないことを認識します。これにより、意味のない機能 (ページ上で CP を移動するためのドラッグ アンド ドロップなど) が無効になりますが、それ以外は同じように機能します。

クエリベースとしてマークするには、マークアップを手動で出力するか (「SiteEdit コンポーネント プレゼンテーションの開始」コマンドを参照) 、Frank van Puffelen によって作成された関数など、他のツールを使用してそれを実行する必要があります(注:これらのみを信じています)。 2011 バージョンで動作します)。IsQueryBasedパラメータが に設定されていることを確認しますtrue

于 2012-10-05T13:44:22.563 に答える
1

RenderComponentPresentationあなたがやろうとしているのはネストされたコンポーネントのプレゼンテーションであるため、これは実現不可能だと思います。IsQueryBasedただし、siteedit マークアップ タグを直接追加することで、これを取得できます。true

追加情報についてはリンクを確認してください (セクションの下部): http://sdllivecontent.sdl.com/LiveContent/content/en-US/SiteEdit_2009_SP3/concept_0D0C929C17D74A6292B2AFE0C29F4DCD

別のアプローチは、ネストされたコンポーネントのプレゼンテーションの前に以下のマークアップを追加することです (IsQueryBased が true である必要があります)。

<!-- Start SiteEdit Component Presentation: {
  "ID" : "MyCP23", "ComponentID" : "tcm:54-7894",
  "ComponentTemplateID" : "tcm:54-3201-32",
  "ComponentVersion" : 2,
  "IsQueryBased" : true,
  "SwapLabel" : "Left"
} -->
于 2012-10-04T19:20:31.713 に答える