# Шаблон `login.tpl`

Шаблон отвечает за вывод отдельного меню авторизации.

Меню выводится в двух случаях:

- при заходе на выделенную страницу авторизации (по умолчанию: `/login/`);
- в случае неуспешной авторизации (как через краткую форму из `usermenu.tpl` так и через шаблон `login.tpl`).

## Доступные блоки / переменные

### Блоки:

- `flags` – блок переменных-флагов:
    - `error` – содержимое блока отображается в случае ошибки авторизации;
    - `banned` – содержимое блока отображается в случае, если конкретному пользователю или его IP адресу/подсети с которой заходит пользователь запрещен доступ;
    - `need_activate` – содержимое блока отображается в случае, если пользователь не активирован.

### Переменные:

- `form_action` – URL формы-обработчика;
- `redirect` – значение, которое необходимо передать в скрытом поле ввода redirect, позволяет вернуться обратно на страницу (внутри сайта), с которой пользователь авторизовывался.

Шаблон должен содержать форму (тег `form`, метод запроса – <b>POST</b>), которая позволит пользователю авторизоваться.

В форму должны передаваться следующие переменные:

- `redirect` (тип: `hidden`) – поле, в которое помещается значение переменной `{{ redirect }}`;
- `username` (обычно тип: `text`) – поле для ввода логина пользователя;
- `password` (обычно тип: `hidden`) – поле для ввода пароля пользователя.

### Доступные языковые переменные:

- `{{ lang['login.title'] }}` – заголовок блока авторизации;
- `{{ lang['login.error'] }}` – стандартное сообщение об ошибке авторизации;
- `{{ lang['login.banned'] }}` – стандартное сообщение о том, что пользователю запрещен вход;
- `{{ lang['login.need_activate'] }}` – стандартное сообщение о том, что пользователь не активирован;
- `{{ lang['login.name'] }}` – текст-описание для поля формы `username`;
- `{{ lang['login.password'] }}` – текст-описание для поля формы `password`;
- `{{ lang['login.submit'] }}` – текст-описание для кнопки типа `submit`.

## Пример заполнения шаблона

В примере показан минимально набор для полнофункциональной работы:

```html
{% if (flags.error) %}
	<div class="alert alert-error">{{ lang['login.error'] }}</div>
{% endif %}

{% if (flags.banned) %}
	<div class="alert alert-info">{{ lang['login.banned'] }}</div>
{% endif %}

{% if (flags.need_activate) %}
	<div class="alert alert-info">{{ lang['login.need_activate'] }}</div>
{% endif %}

<form name="login" action="{{ form_action }}" method="post">
    <input type="hidden" name="redirect" value="{{ redirect }}" />

    {{ lang['login.name'] }}: <input type="text" name="username" />

    {{ lang['login.password'] }}: <input type="password" name="password" />

    <input type="submit" value="{{ lang['login.submit'] }}" />
</form>
```
