Блоки видны только для зарегистрированных пользователей

Как сделать так, чтобы некоторые блоки были видны только для зарегистрированных пользователей?

10 комментариев

avatar
{if $oUserCurrent}
нужный блок
{/if}
avatar
С блоками в сайдбаре такое не получится сделать, если вопрос про них. Для того, чтобы убрать блоки из сайдбара, нужно в соответствующем Action найти строки $this->Viewer_AddBlock(), и поставить перед ними if($this->oUserCurrent).
avatar
Почему не получиться? Просто в файле шаблона блока обрамляем в вышеуказанную конструкцию.
avatar
лучше один раз выполнить проверку в экшене, чем несколько раз — в шаблонах
avatar
Это если необходимо показывать или не показывать все блоки. Если нужно гибко регулировать возможность показа — мне кажется лучше воспользоваться изменениями в шаблонах.
avatar
Если нужно гибко регулировать возможность показа — мне кажется лучше воспользоваться изменениями в шаблонах.
И это называется ГИБКО? Вы в своем уме, сувать такую логику в шаблоны… Уж лучше шаблон будет тупой как валенок, пускай рендерит что дали, чем он будет еще думать и решать проблемы ядра…
avatar
Мне кажется по тому, что в шаблон (не сайд бара) данные про юзвера попадают не совсем в нужное время и в нужное место… +)
avatar
Я хотел интегрировать shoutbox в сайдбар и быть видны только для зарегистрированных пользователей…
спасибо, работает! :)

Image and video hosting by TinyPic
avatar
Сделал себе по этой схеме
{if $oUserCurrent}
нужный блок
{/if} 
Всё норм.
Кто подскажет, как задать обратное условие: «блок видят только не зарегистрированные пользователи»?
avatar
!$oUserCurrent
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.