нельзя так вообще делать. Нужно определить право доступа через хук _perm, выставить этим двум ролям галки в админке друпала и проверять через функцию user_access
твоим способом тоже пробовал... для одно роли... невыхило...
Потому что у меня && стоит.Поставь тогда || - и будет как ИЛИ работать.
"Worth" wrote:
нельзя так вообще делать. Нужно определить право доступа через хук _perm, выставить этим двум ролям галки в админке друпала и проверять через функцию user_access
Можно и так. Но не лишний ли это велосипед будет?Ради одного то блока.
Комментарии
Ну и нахера ты роли пользователя переопределяешь пустым массивом?
убрал не нужную строку думаешь так сработает?
не так тоже не канает...
Я так не думаю.
if(array_key_exist(DRUPAL_AUTHENTICATED_RID, $user->roles) && array_key_exist(3, $user->roles)){
return TRUE;
}
не хочет страница где выводится блок белый и один заголвок от одной ноды =)))
твоим способом тоже пробовал... для одно роли... невыхило...
нельзя так вообще делать. Нужно определить право доступа через хук _perm, выставить этим двум ролям галки в админке друпала и проверять через функцию user_access
подскажешь как рыбу кода?
Потому что у меня && стоит.Поставь тогда || - и будет как ИЛИ работать.
Можно и так. Но не лишний ли это велосипед будет?Ради одного то блока.
мне || и нужно. не работает все равно. Белый экран (практически) .
сброс кеша не работает...
даже такой код не пашет
<?php
global $user;
if (array_key_exist(DRUPAL_AUTHENTICATED_RID, $user->roles)) {
return TRUE;
}
?>
Ну незнаю че там у вас не работает.. код вроде правильно написал,но не проверял. Дома вечером на семерке проверю и скажу точно.
я таки сделал
добавил в своем модуле
<?phpfunction mymodule_permission() {
return array(
'access mymodule' => array(
'title' => t('Bypass block'),
'description' => t('bypass block of with advertising.'),
),
);
} ?>
пытаюсь вывод блока в зависимости от установленой галке в пермишенах у ролях....
но нифига не работает показ/непоказ блока
<?php
global $user;
if (
user_access('access mymodule') {return TRUE;
}
else {
return FALSE;
}
?>может что то не добавил ?
скобку забыл!!! блин!!!