Есть такая конструкция:
<?php
global $user;
if (array_key_exists(3, $account->roles)):?>
<?php if (empty($profile_profession)): print $ank;?><?php endif; ?>
<?php endif; ?>
вот мне нужно еще сюда впихнуть проверку на автора аккаунта. То есть переменная $ank должна быть доступна только пользователю с ролью А в своем профиле.
Что бы было понятней: если профиль пользователя не заполнен, выводится перемнная $ank, которую видит только автор профиля.
Сейчас у меня ее видят все пользователи с ролью А
кручусь-верчусь, до толку так как мне надо не отображает. подскажите
Комментарии
global $user;
$account = menu_get_object('user');
if($user->uid == $account->uid){}
ругается на функцию проверки роли
[function.array-key-exists]: The second argument should be either an array or an object
Вроде наконец накрутила
<?php
global $user;
if (arg(0) == 'user' && $user->uid == arg(1)):?>
<?if (array_key_exists(3, $account->roles)):?>
<?php if (empty($profile_profession)): print $ank;?><?php endif; ?>
<?php endif; ?>
<?php endif; ?>
А вы вставили весь код целиком?
первая и вторая строки у вас уже есть я их просто вставил (выдрал из рабочего сайта) и если вы их вставили оно и должно ругнуться)
вставила как надо, ругается все-равно. Решение выше вроде подошло - отображает по роли только для автора аккаунта
в любом случае спасибо, вы меня натолкнули на мысль)
<?php
global $user;
if ($user->uid == $account->uid):?>
<?php if (array_key_exists(3, $account->roles)):?>
<?php if (empty($profile_profession)): print $ank;?><?php endif; ?>
<?php endif; ?>
<?php endif; ?>
странно.. так тоже должно работать
да я изначально и крутила
<?phpif ($user->uid == $account->uid):?>
но никак(( Хотя вроде должно срабатывать