2015-12-23 88 views
1

我在Drupal 7的视图的标题中放了一个“Global:link”。我想我可以把链接作为html放在Global:文本区域中。 如果用户不是管理员,我不希望他们看到此链接。所以,我试图把我的主题这段代码的template.php:如何在drupal 7的视图中取消设置标题字段?

// hide global text area in view header if user is not admin 
function mytheme_views_pre_render(&$view) { 
    if ($view->name == 'taxonomy_term') { 
     dpm($view->name); 
     global $user; 
     // Check to see if $user has the administrator role or not. 
     if (!in_array('administrator', array_values($user->roles))) { 
       $header_item = $view->display_handler->get_option('header'); 
       dpm($header_item['link']); 
       unset($header_item['link']); 

    } 
     } 
    } 
} 

..但我怎么在这个特定视图的头取消设置一个全球性的领域? 我上面的代码没有办法。 任何帮助将不胜感激!

回答

1

已解决。我终于解决了它。这是片段。希望它能帮助有同样问题的人。将“链接”更改为您在标题中使用的任何项目:

function mytheme_views_pre_view(&$view, &$display_id, &$args) { 
    if ($view->name == 'taxonomy_term') { 
     global $user; 
     $new_item = $view->get_item('page', 'header', 'link'); 
     $new_item['text'] = ""; 
     // Check to see if $user has the administrator role or not. 
     if (!in_array('administrator', array_values($user->roles))) { 
      $view->set_item('page', 'header', 'link', $new_item); 
     } 
    } 
相关问题