Блок авторизации и меню пользователя

Главные вкладки

Аватар пользователя Kudja@drupal.org Kudja@drupal.org 4 ноября 2008 в 2:01

Доброго времени суток!
Возник такой вопрос - хочется сделать блок авторизации и кабинет пользователя в шапке сайта
Для этого пришел к таким решениям

1. - прописать код в своей теме в page.tpl.php в нужном месте шапки:

<div id="authorization">
<?php
        $block = module_invoke('user', 'block', 'view', 0);
        if (!$block['content']) $block = module_invoke('user', 'block', 'view', 1);
        $out = "<h2>".$block['subject']."</h2>".$block['content'];
        print $out;
?>
</div>

конечно для уже авторизованного пользователя лучше бы модифицировать код и вместо $block['content'] выводить свое меню.
Как мне самому кажется - это не лучшее решение.
2. - форму авторизации прописать ручками, меню то же ручками и просто проверять неким методом (уверен он есть) авторизован ли пользователь и выводить соответствующий блок.

Вопросы:
1. Какой из методов наиболее правилен? (возможно есть более правильное/удобное решение).
2. Могут ли при таких решениях возникнуть проблемы с кешированием?

Думаю тема будет интересна многим, так что дополнительные вопросы приветствуются, конечно же если будут ответы )))

Комментарии

Аватар пользователя olk olk 4 ноября 2008 в 10:40

А что мешает просто разместить "стандартный" блок авторизации (ну и "Навигацию" соответственно) в нужном регионе ?

Аватар пользователя Kudja@drupal.org Kudja@drupal.org 4 ноября 2008 в 11:32

"olk" wrote:
А что мешает просто разместить "стандартный" блок авторизации (ну и "Навигацию" соответственно) в нужном регионе ?

1. Это регионом то не назовешь - там квадратик фиксированной ширины и высоты, довольно небольшой.
2. Если засовывать туда как стандартный блок - то менюшка может разростись и поползет верстка (тем более под админом), по этому и говорю, что скорее всего для авторизованного пользователя вообще выводить ручками прописанную менюшку.

А вообще я и спрашиваю как делать правильно и лучше )))