Kentico8 - 根据路径显示/隐藏webpart或转换

时间:2016-08-16 14:57:28

标签: transformation web-parts visible kentico

在我们的网站上,我们在顶部有一个徽标。我想要的是以下内容:

如果网站的路径以以下内容开头:' www.website.com/books' 该徽标应为' books.png&# 39; 即可。 如果网站的路径以其他任何内容开头,则应为' logo.png'

徽标加载在转发器webpart中。我可以将books.png webpart的可见性设置为:

{%NodeAliasPath.StartsWith("/books/")#%}

哪个有效,如果我去了例如website.com/books和website.com/books/harry-potter,我会看到徽标,但我想在任何其他网站上找到正常的徽标。

  • 首先,我尝试在转发器本身的转换中做出某种If语句。这样我只需要一个webpart,它根据路径改变内容。但看起来Kentico不允许在转型中使用If语句。我还是喜欢这样的选项,因为它对我来说感觉更干净。

  • 另一个选择是我制作两个中继器,一个带有normal logo.png,另一个带有books.png。但是,如果路径以/ books开头,我将如何隐藏logo.png?

  • 或者如果有人有这个问题的另一个解决方案,请告诉我:)

感谢。

1 个答案:

答案 0 :(得分:2)

最简单的选择是为此设置2个中继器或webparts,以便在“设计”选项卡中轻松显示。

/ books的可见性宏应为:

{% CurrentDocument.NodeAliasPath.ToLower().Contains("/books") %}

对于其他网站部分,您输入:

{% !CurrentDocument.NodeAliasPath.ToLower().Contains("/books") %}