【发布时间】:2017-10-13 16:55:39
【问题描述】:
我正在寻找带有 Drupal 8 条件显示链接的正确语法。我一直在阅读 twig 文档,与 PHP 模板时代相比,这是一个重大的飞跃,因此进展缓慢。我需要有条件地在视图的页脚中显示一个链接。
在过去,这很简单,即:
<?php global $user;?>
<?php if (user_access('administer nodes')):?>
<div class="foo"><a href="/">Shorthand link for admins</a></div>
<?php endif;?>
由于我不熟悉语法,因此很难在 Twig 中使用它。我是否需要以某种身份声明全局用户?从这里的链接Symfony 2: How do I check if a user is not logged in inside a template?,看来我需要做的就是:
{% if is_granted('ROLE_ADMIN') -%}
<div class="foo"><a href="/">Shorthand link for admins</a></div>
{% endif %}
但我在尝试提交时遇到错误。 ROLE_ADMIN 没有定义吗?我如何获得交响乐? (正确吗?)在 D8 安装中定义的角色?我不确定我做错了什么。任何帮助表示赞赏。
【问题讨论】:
-
我还检查了此处链接中的语法drupal8notes.github.io/how-to-check-for-user-access-in-drupal-8,但不确定如何将其包含在视图页脚中。我正在测试的输入格式接受 PHP。
-
你得到什么错误? Edit您的问题包括该详细信息
-
我还依赖于您尝试修改的模板。您可能没有用户对象。