gpt4 book ai didi

tridion - 在组件链接中使用翻译字符串

转载 作者:行者123 更新时间:2023-12-04 17:24:32 25 4
gpt4 key购买 nike

从今天早上开始,我一直在努力解决这个问题,我知道我在这里遗漏了一些明显的东西,但我似乎找不到它。

我们正在使用一个发布到服务器的 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="&lt;%= DefaultLabels.TranslatedTerm(((HomePage)Page).Location, &#34;read_more&#34;) %&gt;" LinkAttributes=" class=&#34;more&#34;" TextOnFail="true"/>

正如您可能注意到的,它在页面上以纯文本形式写入(这并不奇怪,因为根据 liveDocs,LinkText 参数首先被声明为 String)。

如果我带走
tridion:href

在第一个例子中,把它写成
href

它工作正常,代码解析为翻译后的字符串,甚至链接到...只不过是组件的 TCM ID,而不是包含完整新闻项目的正确页面。

我尝试在 Razor 中创建一个函数,尝试替换 linkText,尝试在模板本身中设置 ComponentLink,但无济于事。我觉得只要对这个模板的代码稍作调整就可以工作,但我没有看到它,我已经开始寻找自定义 TBB 来处理代码。

任何人都知道如何解决这个问题?

编辑:

Chris 的答案实际上是我在这种特殊情况下寻找的答案,但我觉得我应该指出,Priyank 的功能也应该被视为这样。所以谢谢你们的帮助,它让我的生活变得更轻松了!

最佳答案

我希望这个 Razor 功能对你有很大帮助。这是从组件链接或外部链接呈现链接标签非常有用的功能。

@helper RenderLink(
dynamic link, // the link to render. Handles components + internal / external links
string cssClass = null, // optional custom CSS class
string title = null // optional link text (default is the title of the component being linked to)
)
{
if(link == null)
{
return;
}

if (title == null)
{
title = link.title;
}

string classAttr = string.IsNullOrEmpty(cssClass) ? "" : " class='" + cssClass + "'";
dynamic href;
string tridionLink = "";
string targetAttr = "";

if (link.Schema.Title == "External Link")
{
href = link.link;
}
else if (link.Schema.Title == "Internal Link")
{
href = link.link;
tridionLink = "tridion:";
}
else
{
href = link;
tridionLink = "tridion:";
}

if(link.target != null)
{
targetAttr = link.target == "New window" || link.target == "Popup" ? " target='_blank'" : "";
}

<a @(tridionLink)href="@href"@classAttr@targetAttr>@title</a>
}

关于tridion - 在组件链接中使用翻译字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com