【问题标题】:Resolve a Kentico localisation macro in a transformation?在转换中解析 Kentico 本地化宏?
【发布时间】:2014-10-19 22:32:54
【问题描述】:

正如标题所示,我正在尝试解析中继器内的本地化字符串。我有一个所见即所得的编辑器,可以在文档类型的表单选项卡上输入一些 html,所以源代码看起来像这样

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

然后在我的转型中

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

这会将字符串输出为

  • {$localstring$}

并且不会将其解析为宏,而是在 UI 文化本地化中查找本地字符串。

我尝试了不同的方法,包括

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

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

所有这些都给出相同的输出,谁能指出我正确的方向?我确信这是调用 Eval 的方式。

提前致谢。

【问题讨论】:

    标签: macros kentico


    【解决方案1】:

    万一有人搜索这个:如果你想在 ASPX 转换中使用本地化字符串custom.my-string,你应该如下解决它:

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

    注意:没有空格!如果您添加这样的空格:“{$ custom.my-string $}” - 它不会工作。

    【讨论】:

      【解决方案2】:

      正确的语法如下:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多