【发布时间】:2012-08-27 15:18:35
【问题描述】:
从今天早上开始,我一直在尝试解决这个问题,我知道我在这里遗漏了一些明显的东西,但我似乎找不到。
我们正在使用一个发布到服务器的 XML 文件,其中包含所有标准单词的翻译,例如“阅读更多”。它是一个包含在相应出版物中本地化的组件的页面。
在我们的 Razor 模板中,我们在纯新闻摘要项下方使用以下代码,该摘要项又链接到完整项。
<a tridion:href="@news.ID" class="more" ><%=DefaultLabels.TranslatedTerm(((HomePage)Page).Location, "read_more")%></a>
问题是,服务器标签工作得很好,但被解析为
<tridion:ComponentLink runat="server" PageURI="tcm:15-407-64" ComponentURI="tcm:15-1475" TemplateURI="tcm:0-0-0" AddAnchor="false" LinkText="<%= DefaultLabels.TranslatedTerm(((HomePage)Page).Location, "read_more") %>" LinkAttributes=" class="more"" TextOnFail="true"/>
您可能注意到,它在页面上以纯文本形式写入(这并不奇怪,因为根据 liveDocs,LinkText 参数首先被声明为字符串)。
如果我拿走
tridion:href
在第一个例子中,写成
href
它工作正常,代码解析为翻译后的字符串,甚至链接到...只不过是组件的 TCM ID,而不是包含完整新闻项目的正确页面。
我尝试在 Razor 中创建一个函数,尝试替换 linkText,尝试在模板本身中设置 ComponentLink,但无济于事。我觉得只需对该模板的代码稍作调整,它就可以工作,但我看不到它,我已经开始寻找自定义 TBB 来处理代码。
有人知道如何解决这个问题吗?
编辑:
Chris 的答案实际上是我在这种特殊情况下寻找的答案,但我觉得我应该指出,Priyank 的功能也应该被视为这样的东西。所以谢谢你们的帮助,这让我的生活变得更轻松了!
【问题讨论】:
标签: tridion tridion-2011