2017-05-15 69 views
0

我正在尋找與Drupal 8條件鏈接顯示正確的語法。我一直在閱讀樹枝文檔,這是PHP模板日子的一次重大突破,因此它很慢。我需要有條件地在視圖的頁腳內顯示鏈接。Drupal 8條件語法

在過去,這將是直接的,即:因爲我不熟悉的語法

<?php global $user;?> 
<?php if (user_access('administer nodes')):?> 
<div class="foo"><a href="/">Shorthand link for admins</a></div> 
<?php endif;?> 

聞聽此事在枝條的工作有一定困難。我是否需要以某種身份申報全球用戶?從這裏這個鏈接,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安裝中?我不確定我做錯了什麼。任何援助表示讚賞。

+0

我還檢查語法,從這個這裏鏈接,http://drupal8notes.github.io/how-to-check-for-user-access-in-drupal-8/,但不確定如何將其包含在視圖頁腳中。我正在測試的輸入格式接受PHP。 – TripodC

+0

你會得到什麼錯誤? [編輯]您的問題以包含詳細信息 – Dijkgraaf

+0

我也依賴於您嘗試修改的模板。您可能沒有用戶對象。 – MichaelB

回答

0

如果你嘗試檢查當前用戶在嫩枝文件管理,您可以使用

{% if is_admin %} 
    <div class="foo"><a href="/">Shorthand link for admins</a></div> 
{% endif %} 
0

如果您需要檢查特定權限嘗試

{% if user.hasPermission('administer nodes') %} 
    <div class="foo"><a href="/">Shorthand link for admins</a></div> 
{% endif %}