【问题标题】:Kentico8 - Show / hide a webpart or transformation depending on pathKentico8 - 根据路径显示/隐藏 webpart 或转换
【发布时间】:2016-12-23 00:36:36
【问题描述】:

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

如果网站的路径以:'www.website.com/books'开头,则徽标应为'books.png'。 如果网站的路径以 anything else 开头,则应为 'logo.png'

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

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

哪种方法可行,如果我访问 website.com/books 和 website.com/books/harry-potter 会显示徽标,但我希望在任何其他网站上显示正常徽标。

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

  • 另一种选择是我制作两个转发器,一个使用普通 logo.png,一个使用 books.png。但是如果路径以 /books 开头,我将如何隐藏 logo.png?

  • 或者如果有人对此问题有其他解决方案,请告诉我:)

谢谢。

【问题讨论】:

    标签: transformation web-parts visible kentico


    【解决方案1】:

    最简单的选择是为此设置 2 个中继器或 Web 部件,以便在“设计”选项卡中轻松查看。

    /books 的可见性宏应该是:

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

    对于您要输入的其他 Web 部件:

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

    【讨论】:

    • 你想要 StartsWith,而不是 Contains。
    猜你喜欢
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多