1

SDL Tridion2011を使用しています。フィールドタイプが「text」のコンポーネントを作成し、すでに公開されているコンポーネントをその中のテキストにリンクしました。

この後、コンポーネントをページに挿入して公開しました(Link Resolver TBBを使用しました)。そのページをブラウザで見たところ、リンクが表示されておらず、コードを確認したところ、リンクの代わりに以下が書かれていました

<tridion:ComponentLink runat="server" PageURI="tcm:150-12575-64" 
    ComponentURI="tcm:150-12344" TemplateURI="tcm:0-0-0" AddAnchor="false"
    LinkText="component" LinkAttributes=" title=&#34;Video link&#34; 
    target=&#34;_blank&#34; " TextOnFail="true"/>

テンプレートタイプは複合テンプレートとコードです:-

<CompoundTemplate xmlns="http://www.tridion.com/ContentManager/5.3/CompoundTemplate">
  <TemplateInvocation>
    <Template xlink:href="tcm:150-12576-2048" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:title="Test" />
    <TemplateParameters>
      <Parameters xmlns="uuid:b81e2790-ded1-4fb2-b09a-4a2975c2938e" />
    </TemplateParameters>
  </TemplateInvocation>
  <TemplateInvocation>
    <Template xlink:href="tcm:150-12176-2048" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:title="Default Finish Actions" />
    <TemplateParameters>
      <Parameters xmlns="uuid:a13c5753-adfc-4e93-912f-ee3d93b6a828" />
    </TemplateParameters>
  </TemplateInvocation>
</CompoundTemplate>
4

1 に答える 1

6

Link Resolver TBBは、DeployerやPublication Targetの構成に応じて、コンポーネントリンクをASP.NETまたはJSPタグのいずれかに解決します。タグを見ると、ASP.NETタグに解決されます(runat="server"属性から判断して)。

これを機能させるには、ASP.NET WebアプリケーションのAPIサーバーの役割を構成する必要があります。もちろん、ページ内のタグが確実に実行されるように、ページには正しいファイル拡張子(通常は.aspx)が必要です。

簡単に言うと、SDL TridionDynamicLinkタグのタグプレフィックスを登録するだけです。これは、wepアプリケーションweb.configファイルで次のように行います。

<configuration>
    <system.web>
        <pages>
            <controls>
                <add tagPrefix="tridion" 
                     namespace="Tridion.ContentDelivery.Web.UI"
                     assembly="Tridion.ContentDelivery" />
            </controls>
        </pages>
    </system.web>
</configuration>

このトピックの詳細については、オンラインドキュメントを参照してください。.NETWebアプリケーションのAPIサーバーの役割の構成(ログオンが必要です。詳細については、こちらを参照してください)

于 2012-09-03T08:04:25.207 に答える