3

テクノロジに依存しないTridion Content Delivery Language (TCDL) リンクには次のパラメータが含まれていることがわかります。これらは SDL ライブ コンテンツでよく説明されています。

  • タイプ
  • 行き先
  • テンプレートURI
  • リンク属性
  • textOnFail
  • addAnchor
  • バリアント ID

linkAttributes に複数の属性と値のペアを追加するにはどうすればよいですか? 具体的には、二重引用符と個別のペアをエスケープするために何を使用しますか (たとえば、class="someclass"onclick="someevent" が必要な場合)。

4

2 に答える 2

4

個別のペアは、通常の一連の属性のようにスペースで区切られています。linkAttributesただし、値を XML エンコードしてみてください。だから、"なる&quote;など...

Javascript を使用している場合は、 のように Javascript の引用符にも注意を払う必要があります\"

于 2012-08-20T23:18:03.473 に答える
3

編集:あなたの本当の質問を理解した後、答えはずっと簡単です:

linkAttributesを一重引用符で囲む必要があります。linkAttributes通常、内部のスペースそうでない場合は、でエスケープし%20ます。

さらに何かが必要な場合や、標準で処理されないものが必要な場合は、いつでも独自の TCDL タグを作成し、 ortcdl:ComponentLinkを使用して実行できることを覚えておいてください(ドキュメントで例を参照するか、Jaime の記事を検索してください)。まさにあなたが望むもの。TagHandlerTagRendererTagRenderer


私の最初の回答は、あなたが尋ねなかった質問に対するものでした: TCDL タグの形式は (一般的に) は何ですか。しかし、説明はまだ一部の人にとっては役立つかもしれないので、以下に残します.

デフォルトのビルディング ブロック (デフォルトの終了アクションのリンク リゾルバー TBB など) が出力する形式を確認し、それをガイドラインとして使用することをお勧めします。

これは、公開されたページのトランスポート パッケージからすぐに取得できたものです。

<tcdl:Link type="Page" origin="tcm:5-199-64" destination="tcm:5-206-64" 
           templateURI="tcm:0-0-0" linkAttributes="" textOnFail="true" 
           addAnchor="" variantId="">Home</tcdl:Link>

<tcdl:ComponentPresentation type="Embedded" componentURI="tcm:5-69" 
                            templateURI="tcm:5-133-32">
  <span>
  ...

私が経験から知っていることの 1 つは、TCDL タグ全体を 1 行で記述する必要があることです (上の行は、読みやすくするために折り返しています)。または、少なくとも REL TagRenderer を呼び出すために使用される場合はそうです。tcdl:ComponentPresentation上記のタグは明らかに複数の行またがるため、「1 行のルール」がどこにも適用されるわけではありません。

これがおそらく最善のアドバイスです。TCDL タグは Tridion の発行、展開、および配信パイプラインの複数のポイントで処理されるという事実を考えると、デフォルトの TBB が出力する形式に固執します。そして、次のように思われる私のサンプルから:すべてを1行に入れ、値を(二重)引用符で囲みます。

于 2012-08-20T23:17:11.573 に答える