2011-06-01 55 views
2

我有一个免责声明消息,我只希望在查看的页面未翻译成为网站选择的语言时可见。有没有办法比较Kentico中的两个宏?

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

我想:{%cmscontext.currentdocumentculture.culturecode |(notequals){(1)%的CurrentCulture%(1)}%}

但这解析为真,不管选择了什么样的文化。有任何想法吗?

回答

0

depends on what version of Kentico you are using

如果您使用的是5.5+,you have the option to use Nested Macros。下面是从马丁Hejtmanek关于它的报价:

如果你有一些更复杂的宏的工作,你知道,你可以使用这样的事情:

{%DocumentName |(等于)首页|(truevalue) %} 但你不能做在5.0这样的事情{PARAM?}:

{%DocumentName |(等于)首页|(truevalue){%PARAM%}%}

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

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

{%DocumentName |(等于)主页|(truevalue){(1)%参数%(1) }

你要做的是,你可以在宏括号和类型字符之间加上一个数字,这样可以更容易地看到表达式的末尾在哪里,也可以让引擎正确地看到它。该号码没有任何信息值,它只是一个检测匹配的数字。它可以是任何非负整数。

因此,您可以嵌套不同类型的宏 - 例如:您可以在表达式宏中嵌套一个Path宏。但是现在在版本5.5中,您可以嵌套相同类型的宏。

干杯, 兰斯

+0

感谢您的回应兰斯。我在我的例子中实际上使用了一个嵌套宏,但是我最近从Kentico得到了我的答案。显然,你不能使用equals或notequals来比较两个宏,因为这些宏的解决太迟了。 – 2011-06-20 13:25:07

相关问题