- Если пользователь не залогинен - краткое меню авторизации.
- Если пользователь залогинен - ссылки на выход, редактирование своего профиля и админ-панель сайта.
Шаблон usermenu.tpl TWIG
Шаблон используется для генерации пользовательского меню.
Доступные переменные
Блоки:
- {% if (global.flags.isLogged) %} "Панель пользователя" {% else %} "Форма авторизации" {% endif %} - Содержимое обоих блоков "панель пользователя" и "Форма авторизации".
- {% if not (global.flags.isLogged) %} "Форма авторизации" {% endif %} - Содержимое блока только "Форма авторизации".
- {% if (global.flags.isLogged) %} "Панель пользователя" {% endif %} - Содержимое блока только "панель пользователя".
Доступные переменные блока "Форма авторизации"
Переменные:
В форму должны передаваться следующие переменные:
- {{ form_action }} - URL формы-обработчика.
- {{ redirect }} - Значение, которое необходимо передать в скрытом поле ввода redirect, позволяет вернуться обратно на страницу (внутри сайта), с которой пользователь авторизовывался.
- {{ reg_link }} - Ссылка на страницу регистрации.
- {{ lost_link }} - Ссылка на страницу восстановления потерянного пароля.
В форму должны передаваться следующие переменные:
- redirect (тип: hidden) - Поле, в которое помещается значение переменной {{ redirect }}.
- username (обычно тип: name) - Поле для ввода логина пользователя.
- password (обычно тип: name) - Поле для ввода пароля пользователя.
- {{ lang['name'] }} - Текст-описание для поля формы username.
- {{ lang['password'] }} - Текст-описание для поля формы password.
- {{ lang['login'] }} - Текст для кнопки "войти" (тип кнопки: submit).
- {{ lang['registration'] }} - Текст для ссылки "регистрация".
- {{ lang['lostpassword'] }} - Текст для ссылки "восстановить пароль".
Доступные переменные блока "Панель пользователя"
Переменные:
- {{ global.user.name }} - Отображаемое имя (логин) пользователя.
- {{ admin_url }} - Ссылка на админ-панель.
- {{ addnews_link }} - Ссылка на форму добавления новости (в админ панели).
- {{ profile_link }} - Ссылка на собственный профиль пользователя (для работы необходим плагин uprofile).
- {{ logout_link }} - Ссылка для функции "выйти с сайта" (удалить авторизационную информацию).
- {{ pthumb_url }} - Ссылка на уменьшенную фотографию пользователя.
- {{ avatar_url }} - Ссылка на иконку пользователя (поддерживается интеграция с gravatar.com).
- {{ lang['adminpanel'] }} - Текст "Админ-панель" (для ссылки-переменной {{ admin_url }}).
- {{ lang['addnews'] }} - Текст "Добавить новость" (для ссылки-переменной {{ addnews_link }}).
- {{ lang['myprofile'] }} - Текст "Мой профиль" (для ссылки-переменной {{ profile_link }}).
- {{ lang['logout'] }} - Текст "Завершить сеанс!" (для ссылки-переменной {{ logout_link }}).
- [if-have-perm] ... [/if-have-perm] - Содержимое блока виден если есть доступ к админ панели.
Пример заполнения шаблона
В примере показан минимально набор для полнофункциональной работы:
{% if (global.flags.isLogged) %} [if-have-perm] <a href="{{ admin_url }}" target="_blank">{{ lang['adminpanel'] }}</a> <a href="{{ addnews_link }}">{{ lang['addnews'] }}</a> [/if-have-perm] <a href="{{ profile_link }}">{{ lang['myprofile'] }}</a> <a href="{{ logout_link }}">{{ lang['logout'] }}</a> {% else %} <script language="javascript"> var set_login = 0; var set_pass = 0; </script> <form name="login" method="post" action="{{ form_action }}" id="login"> <input type="hidden" name="redirect" value="{{ redirect }}" /> {{ lang['name'] }}: <input type="text" name="username"> {{ lang['password'] }}: <input type="password" name="password"> <a href="{{ lost_link }}" >{{ lang['lostpassword'] }}</a> <a href="{{ lang['registration'] }}" >{{ lang['registration'] }}</a> <input type="submit" value="{{ lang['login'] }}"> </form> {% endif %}