Хочу в самом начале шаблона поставить рекламный код, который бы показывался исключительно НЕавторизованным юзерам (а любым авторизованным - не показывался). Каким простым PHP-кодом в шаблоне темы проверить залогиненность юзера?
Полагаю, что все нужное написано тут: http://api.drupal.ru/api/function/user_access/6
но сложновато разобраться.
P.S. Можно, конечно, сделать блок в шапке, но у меня он не очень красиво получается, поэтому хотелось бы все-таки вставить в шаблон.
Комментарии
user_is_logged_in()
Огромное спасибо. Дальше, думаю, разберусь сам. Вот тут нашел почти готовый код: http://drupalblog.ru/note/2010-05-25/86
Интересно, а бажнет, если включить это условие не в шаблон, а в блок? Тут 2 варианта: в регионе выводятся блоки, в т.ч. данный блок с условием, и в регионе выводится только этот блок (т.е. если регион пустой - для авторизованных, то скроется ли он)?
Кажись, функция, лишняя тут.
function user_is_logged_in() {
return (bool) $GLOBALS['user']->uid;
}
В шаблонах есть специальная переменная:
$logged_in: TRUE если пользователь зарегестрирован и залогинен.
Если кому интересно, то я себе сделал в итоге так:
<?php
if (!(user_is_logged_in())):
?>
тут куча html-кода для неавторизованных
<?php endif;
?>
А создать блок и выводить его в соответствующий регион, используя его настройки видимости не катит?
если есть задание и решение ,то зачем его менять?
Нет, со своим кодом гибче получается. Ведь Drupal обрамляет блоки в дивы.
и что?
В чем сложность?
Во что обрамляет какие блоки Drupal, управляется темизацией, да и не так уж плох лишний див.
А решение с блоком более естественное в рамках Drupal, и более поддерживаемое - куда проще посмотреть список блоков и отредактировать блок в админке, чем рыться в теме и искать, куда вы засунули кусок кода, да и сменить потом при необходимости видимость тоже проще - например надо будет показывать блок не на всех страницах, или показывать разные блоки разным ролям или ещё что-нибудь.
Полагаться на то, что сайт будет таким, как вы его сделали и заведомо усложнять последующую модификацию, плохая привычка.
кто знает как будет для drupal 8? Спасибо