1

Grav 的文档清楚地描述了如何对未注册用户隐藏整个页面或文件夹。它还描述了如何只有特定用户组才能看到整个页面

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

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

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

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

我正在考虑一个树枝/短代码插件,例如:

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

或者

[hidden_if_something] hidden content goes here [/hidden_if_something]

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

4

1 回答 1

3

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

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

{{ example() }}

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

{% if example() == true %}
   your conditional output
{% endif %
于 2017-09-13T01:11:56.393 回答