【问题标题】:Grav CMS: how to show/hide parts of the page depending on conditions?Grav CMS:如何根据条件显示/隐藏页面的某些部分?
【发布时间】:2017-09-12 05:33:52
【问题描述】:

Grav 的文档清楚地描述了how a whole page or a folder could be hidden from unregistered users。它还描述了how a whole page could be seen only by particular user groups

但是页面的片段,比如说,我想在某些条件下显示的一些链接或私人信息呢?

好的,对于注册用户,我在Login plugin docs找到了一个sn-p:

{% if grav.user.authenticated %}
    content for registered users goes here
{% endif %}

但更广泛 - 我如何根据 PHP 代码中的一些自定义逻辑显示/隐藏特定页面的 片段,即不一定与用户相关?

我正在考虑一个 twig/shortcode 插件,例如:

{% if some.custom.condition.or.PHP.function %}
   hidden content goes here
{% endif %}

[hidden_if_something] hidden content goes here [/hidden_if_something]

但不确定应该如何实现。因此,工作示例将不胜感激。谢谢。

【问题讨论】:

    标签: twig grav


    【解决方案1】:

    Grav 文档here 中有一个配方。这提供了一个示例,说明如何在 twig 模板中呈现 PHP 代码结果的输出。

    在示例中,他们创建了一个插件,并实现了一个提供对 php 函数的访问的 twig 扩展。然后他们可以像在树枝模板中一样简单地调用该 php 函数。

    {{ example() }}
    

    按照该示例,您可以在 php 中实现您想要的任何逻辑,并在 twig if 语句中调用该函数。

    {% if example() == true %}
       your conditional output
    {% endif %
    

    【讨论】:

    • 谢谢,我想我应该更仔细地阅读文档:)
    猜你喜欢
    • 1970-01-01
    • 2021-02-13
    • 2020-05-09
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多