17

SDL Tridion2009SP1にはSiteEdit2009SP2があり、通常の公開ページでは正常に機能しています。ページに単一の動的コンポーネントプレゼンテーション(DCP)がある場合も、問題なく機能します。ただし、ページに複数のDCPがある場合、最初のDCPのみを取得し、他のすべてを無視します。

これが私のコードです

<xsl:variable name="SE_CP_MarkUP">
<![CDATA[ <!-- Start SiteEdit Component Presentation: {"ID" : "cp_%ID%", "ComponentID" : "%ID%", "ComponentTemplateID" : "tcm:XX-XXXXX-32", "Version" : 0, "IsQueryBased" : true  } -->]]>

この変数をループで使用しています

<xsl:value-of select="XXXX:RegexStringReplace($SE_CP_MarkUP,'%ID%',@ID)" disable-output-escaping="yes"/>

何が問題なのか提案してください。

より詳しく:

生成されたHTML

    <div>
  <!-- Start SiteEdit Component Presentation: {"ID" : "cp_tcm:13-287142", "ComponentID" : "tcm:13-287142", "ComponentTemplateID" : "tcm:13-286965-32", "Version" : 3, "IsQueryBased" : true  } -->
  HTMLConent
</div>
<div>
  <!-- Start SiteEdit Component Presentation: {"ID" : "cp_tcm:13-287162", "ComponentID" : "tcm:13-287162", "ComponentTemplateID" : "tcm:13-286965-32", "Version" : 2, "IsQueryBased" : true  } -->
  HTMLConent
</div>
<div>
  <!-- Start SiteEdit Component Presentation: {"ID" : "cp_tcm:13-287204", "ComponentID" : "tcm:13-287204", "ComponentTemplateID" : "tcm:13-286965-32", "Version" : 1, "IsQueryBased" : true  } -->
  HTMLConent
</div>
<div>
  <!-- Start SiteEdit Component Presentation: {"ID" : "cp_tcm:13-287234", "ComponentID" : "tcm:13-287234", "ComponentTemplateID" : "tcm:13-286965-32", "Version" : 4, "IsQueryBased" : true  } -->
  HTMLConent
</div>
<div>
  <!-- Start SiteEdit Component Presentation: {"ID" : "cp_tcm:13-287251", "ComponentID" : "tcm:13-287251", "ComponentTemplateID" : "tcm:13-286965-32", "Version" : 3, "IsQueryBased" : true  } -->
  HTMLConent
</div>

SiteEdit設定

<!-- SiteEdit Settings: { "PageID" : "tcm:13-287332-64", "PageVersion" : 2, "TargetTypeID" : "", "ComponentPresentationLocation" : 1, "BluePrinting" : { "PageContext" : "tcm:0-8-1", "ComponentContext" : "tcm:0-13-1", "PublishContext" : "tcm:0-13-1"}} -->

実行時にhtmlを上回っています。最初のCPにカーソルを合わせると、siteeditを使用して最初のコンポーネントのみを開くことができ、他のCPにカーソルを合わせると何も起こりません。

また、ページにJSエラーはありません。

ありがとう、Vikas Kumar

4

5 に答える 5

7

これを見てくれてありがとう、私はちょうどSiteEditがその仕事をしていることに気づきました。すべてのSiteEditマークアップdivは同じ絶対位置にあるため、ホバーするとdivが上部に表示されます。

私はそれを分類するために設計チームと協力しています。

ありがとう、Vikas Kumar

于 2012-07-13T13:15:32.197 に答える
5

SiteEditコンポーネントプレゼンテーションマークアップは、常にDIVなどのHTML要素でラップする必要があります。これにより、SiteEditはコンポーネントプレゼンテーションの開始と終了を区別できます。

したがって、ループでは次のように出力する必要があります。

<div>
    <xsl:value-of select="XXXX:RegexStringReplace($SE_CP_MarkUP,'%ID%',@ID)" disable-output-escaping="yes"/>
    <!-- output the content here -->
</div>
于 2012-07-12T15:01:27.577 に答える
2

通常、これは各コンポーネントプレゼンテーションに一意のIDを与えていないためだと思います。しかし、それはすでにカバーされているようです。

簡潔にするために、質問から設定コメントを省略したと思いますよね?

HTML全体を提供できる可能性はありますか?もちろん、機密性の高いコンテンツはすべて削除してください。ただし、削除した後も問題が解決しないことを確認してください。

于 2012-07-13T11:24:38.377 に答える
1

ユーザーがすべてのコンポーネントに対する権限を持っていることを確認しますか?そして、それらはすべて存在しますか

ブラウザの開発者ツールをチェックインするのがおそらく最も簡単です。のリクエストを検索しGetComponentAndSchemasます。

そのリクエストの本文(サーバーに送信される部分)には、SiteEditが要求しているすべてのコンポーネントが含まれています。したがって、それがすべてのコンポーネントをカバーしていない場合は、どういうわけかHTMLでそれらを見つけられませんでした。

次に、その要求の応答で、要求されたコンポーネントとそれらが基づいているスキーマを見つける必要があります。一部のコンポーネントが存在しない場合、それらはサーバー上で何らかの形で除外されます。ユーザーに権限がないことが原因である可能性がありますが、パブリケーション13に権限が存在しない可能性もあります。

于 2012-07-13T12:41:02.357 に答える
1

特にsiteeditspan/ divタグの周りにhtml5タグがある場合、同じ問題が発生しました。(バートからの)この記事をチェックしましたか、それは役立つかもしれません。私の場合は役に立ちました。

http://www.sdltridionworld.com/articles/sdltridion2011/siteedit_zindex.aspx

于 2012-07-13T14:25:25.680 に答える