这取决于您使用的 Kentico 版本。
如果您使用的是 5.5+,则可以选择使用嵌套宏。这是 Martin Hejtmanek 的一段话:
如果您使用过一些更复杂的宏,您就会知道可以使用如下内容:
{%DocumentName|(equals)Home|(truevalue){?param?}%} 但你不能在 5.0 中做这样的事情:
{%DocumentName|(equals)Home|(truevalue){%param%}%}
区别在于宏的类型。出于性能原因(更快的处理),我们不允许嵌套相同类型的宏,因此我们可以使宏正则表达式尽可能简单。
在 5.5 中,有一个选项可以解决这个问题。我们提供使用耦合括号来允许嵌套相同类型的宏,一个例子最好地说明了这一点:
{%DocumentName|(equals)Home|(truevalue){(1)%param%(1)}%}
你所做的是你可以在宏括号和类型字符之间放一个数字,这样你就可以更容易地看到表达式的结尾在哪里,也可以让引擎正确地看到它。这个数字没有任何信息价值,它只是一个检测匹配的数字。它可以是任何非负整数。
因此,以前,您可以嵌套不同类型的宏 - 例如:您可以在 Expression 宏中嵌套 Path 宏。但现在在 5.5 版中,您可以嵌套相同类型的宏。
干杯,兰斯