显示具有特定角色的用户的文本

时间:2017-03-06 12:32:27

标签: php drupal drupal-7

我在自定义页面中有一段文本 - front.tpl.php文件。我想将它包装在php if语句中,以便它只显示给我的两个站点角色。我有以下但它只显示“客户”角色,而我也想显示它为“顾问”角色。

<?php if (in_array('client', $GLOBALS['user']->roles)):?>

客户资料

1 个答案:

答案 0 :(得分:0)

in_array函数如果作为数组传递,则应接受多个搜索参数。所以它应该是这样的:

<?php if (in_array(array('client','consultants'), $GLOBALS['user']->roles)):?>

但如果那不起作用(并且它应该)你总是可以使用或声明:

<?php if (in_array('client', $GLOBALS['user']->roles) || in_array('consultants', $GLOBALS['user']->roles)):?>

更新:似乎in_array()无法接受第一个(针)参数的数组。在堆栈溢出时查看此线程:

Checking to see if one array's elements are in another array in PHP

所以array_intersect()函数应该是您正在寻找的。

相关问题