在转型中解决Kentico本地化宏?

时间:2013-10-15 08:43:55

标签: macros kentico

正如标题所暗示的那样,我正在尝试解决转发器内的本地化字符串。我有一个wysiwyg编辑器在文档类型的表单选项卡上输入一些html,所以源代码看起来像这样

Field1: "<a href="test.aspx" title="test">{$localstring$}</a>"

然后在转型中我有

<li><%# Eval("Field1") %></li>

这将字符串输出为

  • {$ localstring $}

并且不会将其解析为宏并在UI文化本地化中查找localstring。

我尝试过不同的事情,包括

<%# Eval(CMS.GlobalHelper.ResHelper.LocalizeString("Field1")) %>

<%# Eval(CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("Field1")) %>

所有这些产生相同的输出,有人能指出我正确的方向吗?我确信这是Eval的召唤方式。

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果其他人搜索此内容:如果您想在ASPX转换中使用本地化字符串custom.my-string,则应按如下方式解决此问题:

<%# CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros("{$custom.my-string$}") %>

注意:没有空格!如果你添加这样的空格:&#34; {$ custom.my-string $}&#34; - 不会工作。

答案 1 :(得分:1)

正确的语法如下:

<%# CMS.CMSHelper.CMSContext.CurrentResolver.ResolveMacros(Eval("Field1").ToString()) %>