Macros 有没有办法比较Kentico中的两个宏?

Macros 有没有办法比较Kentico中的两个宏?,macros,content-management-system,culture,kentico,Macros,Content Management System,Culture,Kentico,我有一条免责声明消息,我只希望在所查看的页面未翻译成为该站点选择的语言时可见 我正在为免责声明消息使用静态文本Web部件,并尝试根据页面的区域性{%cmscontext.currentdocumentculture.culturecode%}设置其可见性,该区域性不等于所选的视图区域性{%currentculture%} 我尝试:{%cmscontext.currentdocumentculture.culturecode |(notequals){(1)%currentculture%(1)}

我有一条免责声明消息,我只希望在所查看的页面未翻译成为该站点选择的语言时可见

我正在为免责声明消息使用静态文本Web部件,并尝试根据页面的区域性{%cmscontext.currentdocumentculture.culturecode%}设置其可见性,该区域性不等于所选的视图区域性{%currentculture%}

我尝试:{%cmscontext.currentdocumentculture.culturecode |(notequals){(1)%currentculture%(1)}%}

但无论选择何种文化,这都是正确的。有什么想法吗?

如果您使用的是5.5+。以下是Martin Hejtmanek的一段话:

如果您使用的是更复杂的宏,您知道可以使用如下内容:

{%DocumentName |(等于)Home |(truevalue){?param?}%} 但在5.0中不能执行类似操作:

{%DocumentName |(等于)Home |(truevalue){%param%}%}

区别在于宏的类型。出于性能原因(更快的处理),我们不允许嵌套相同类型的宏,因此我们可以使宏正则表达式尽可能简单

对于5.5,有一个选项可以解决这个问题。我们提供使用耦合括号来允许嵌套相同类型的宏,一个示例最好地解释了这一点:

{%DocumentName |(equals)Home |(truevalue){(1)%param%(1)}%}

您可以在宏括号和类型字符之间放置一个数字,这样可以更容易地看到表达式的结尾,也可以让引擎正确地看到它。数字没有任何信息值,它只是一个用于检测匹配的数字。它可以是任何非负整数

所以以前,您可以嵌套不同类型的宏-例如:您可以在表达式宏中嵌套Path宏。但现在在5.5版中,您可以嵌套相同类型的宏

干杯, 兰斯

如果您使用的是5.5+。以下是Martin Hejtmanek的一段话:

如果您使用的是更复杂的宏,您知道可以使用如下内容:

{%DocumentName |(等于)Home |(truevalue){?param?}%} 但在5.0中不能执行类似操作:

{%DocumentName |(等于)Home |(truevalue){%param%}%}

区别在于宏的类型。出于性能原因(更快的处理),我们不允许嵌套相同类型的宏,因此我们可以使宏正则表达式尽可能简单

对于5.5,有一个选项可以解决这个问题。我们提供使用耦合括号来允许嵌套相同类型的宏,一个示例最好地解释了这一点:

{%DocumentName |(equals)Home |(truevalue){(1)%param%(1)}%}

您可以在宏括号和类型字符之间放置一个数字,这样可以更容易地看到表达式的结尾,也可以让引擎正确地看到它。数字没有任何信息值,它只是一个用于检测匹配的数字。它可以是任何非负整数

所以以前,您可以嵌套不同类型的宏-例如:您可以在表达式宏中嵌套Path宏。但现在在5.5版中,您可以嵌套相同类型的宏

干杯,
兰斯

感谢兰斯的回复。在我的示例中,我实际上使用了嵌套宏,但我最近从Kentico那里得到了答案。显然,您无法使用equals或notequals来比较两个宏,因为对于该条件,宏的解析太晚了。感谢您的响应。在我的示例中,我实际上使用了嵌套宏,但我最近从Kentico那里得到了答案。显然,您无法使用equals或notequals来比较两个宏,因为对于该条件,宏的解析太晚了。