我有一个 Drupal 7 站点,我想根据配置文件用户(不是登录用户)的角色在配置文件页面内打印出一些字段内容。仅当个人资料所有者没有角色作者时,我才需要显示特定字段:
<?php
if (!in_array('autor', array_values($user->roles))) {
print drupal_render(field_view_field('profile2', $profile['main'], 'field_nombrecompleto1', 'value'));
}
else {print "yada yada";}
注意:有问题的配置文件字段是 rofile2 字段,而不是核心配置文件字段。
那个代码有什么问题?因为无论配置文件所有者的角色如何,它都会在任何情况下打印出有问题的字段。
我已经尝试过其他代码,在这种情况下,该字段在任何情况下都不会打印出来:
<?php
if (is_array($user->roles) &&
in_array('authenticated user', $user->roles) &&
!in_array('autor', $user->roles)) {
print drupal_render(field_view_field('profile2', $profile['main'], 'field_nombrecompleto1', 'value'));
}
?>