1

我正在使用 SDL Tridion 2011。我创建了一个字段类型为“文本”的组件,并将已发布的组件链接到其中的文本。

在此之后,我将组件插入到页面并发布(我使用了 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

链接解析器 TBB 将根据部署程序和/或发布目标的配置将组件链接解析为 ASP.NET 或 JSP 标记。查看您的标记,它被解析为 ASP.NET 标记(从runat="server"属性判断)。

现在要使其工作,您必须确保为 ASP.NET Web 应用程序配置 API 服务器角色,当然您的页面需要具有正确的文件扩展名(通常为 .aspx)以确保执行其中的标签。

简单地说,您需要为 SDL Tridion Dynamic Link 标签注册标签前缀。您可以在 wep 应用程序web.config文件中执行此操作,如下所示:

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

有关此主题的更多信息,请参阅我们的在线文档:为 .NET Web 应用程序配置 API 服务器角色(需要登录,详情请参见此处

于 2012-09-03T08:04:25.207 回答