Pages, Articles & News
Tools & Plugins
Example / Placeholder Title


Description as an example placeholder. Sample text content for further customization of the "Index36" template.

You are free to edit and customize the template however you like. If you don’t have time or enough knowledge — you can always order template adaptation by contacting me via GitHub or private messages on the digital goods marketplace.

Модуль "Users", - users.register.tpl в Cotonti CMF

служит для формирования HTML-формы регистрации, включая поля ввода данных, таких как имя пользователя, email и пароль, а также блок проверки CAPTCHA

Модуль "Users", - users.register.tpl в Cotonti CMF

Назначение шаблона users.register.tpl

Шаблон users.register.tpl отвечает за отображение интерфейса страницы регистрации пользователей в Cotonti CMF. Он расположен в папке /modules/users/tpl/ и служит для формирования HTML-формы регистрации, включая поля ввода данных, таких как имя пользователя, email и пароль, а также блок проверки CAPTCHA.

Данный шаблон полностью настраивает визуальную часть страницы регистрации, а сама логика обработки данных (включая валидацию и сохранение пользователя в базе данных) реализована в PHP-коде модуля "Пользователи" (users).


Основное содержание и задачи шаблона

  1. Навигационная цепочка (breadcrumbs)
    Шаблон проверяет, включён ли параметр homebreadcrumb в конфигурации сайта (cfg.homebreadcrumb). Если он активен, отображается навигационная цепочка ({USERS_REGISTER_BREADCRUMBS}), указывающая путь к странице регистрации.

  2. Заголовок страницы
    Отображается заголовок, задаваемый через переменную {USERS_REGISTER_TITLE}, которая, как правило, локализована и содержит текст вроде "Регистрация нового пользователя".

  3. Обработка предупреждений
    Подключается шаблон warnings.tpl из текущей темы сайта, который отвечает за отображение ошибок или уведомлений (например, если форма регистрации заполнена неправильно).

  4. Форма регистрации
    Главный элемент шаблона — HTML-форма с методами POST и поддержкой загрузки файлов (enctype="multipart/form-data"). В ней содержатся обязательные поля для ввода:

    • Имя пользователя ({USERS_REGISTER_USER}).
    • Электронная почта ({USERS_REGISTER_EMAIL}) с подсказкой ({PHP.L.users_validemailhint}).
    • Пароль ({USERS_REGISTER_PASSWORD}).
    • Повторный ввод пароля ({USERS_REGISTER_PASSWORDREPEAT}).
  5. CAPTCHA
    Если в конфигурации сайта активирован модуль CAPTCHA (cfg.captchamain), отображается блок с изображением CAPTCHA ({USERS_REGISTER_VERIFY_IMG}) и полем для ввода её значения ({USERS_REGISTER_VERIFY_INPUT}).

  6. Отправка формы
    В шаблоне предусмотрена кнопка отправки формы (<button type="submit">), которая передаёт данные на сервер для дальнейшей обработки.


Список переменных и их назначение

  1. {PHP.cfg.homebreadcrumb}
    Проверяет, включена ли в конфигурации сайта настройка отображения хлебных крошек.

  2. {USERS_REGISTER_BREADCRUMBS}
    Переменная для отображения навигационной цепочки (хлебных крошек).

  3. {USERS_REGISTER_TITLE}
    Заголовок страницы регистрации, задаваемый модулем и локализованный через языковые файлы.

  4. {FILE "{PHP.cfg.themes_dir}/{PHP.usr.theme}/warnings.tpl"}
    Подключает шаблон warnings.tpl из активной темы для отображения уведомлений и ошибок.

  5. {USERS_REGISTER_SEND}
    URL-адрес, на который отправляется форма регистрации.

  6. {PHP.L.Username}
    Локализованная строка "Имя пользователя".

  7. {USERS_REGISTER_USER}
    Поле ввода для имени пользователя.

  8. {PHP.L.users_validemail}
    Локализованная строка "Электронная почта".

  9. {USERS_REGISTER_EMAIL}
    Поле ввода для электронной почты.

  10. {PHP.L.users_validemailhint}
    Подсказка под полем электронной почты (например, "Пожалуйста, укажите действующий email").

  11. {PHP.L.Password}
    Локализованная строка "Пароль".

  12. {USERS_REGISTER_PASSWORD}
    Поле ввода для пароля.

  13. {PHP.L.users_confirmpass}
    Локализованная строка "Подтвердите пароль".

  14. {USERS_REGISTER_PASSWORDREPEAT}
    Поле ввода для повторного ввода пароля.

  15. {PHP.cfg.captchamain}
    Проверяет, активен ли модуль CAPTCHA.

  16. cot_plugin_active($this)
    Функция проверки активности плагина CAPTCHA.

  17. {USERS_REGISTER_VERIFY_IMG}
    Изображение CAPTCHA.

  18. {USERS_REGISTER_VERIFY_INPUT}
    Поле ввода для проверки CAPTCHA.

  19. {PHP.L.Submit}
    Локализованная строка "Отправить", отображаемая на кнопке.


Комментарии к конструкциям <!-- ... -->

  1. <!-- BEGIN: MAIN --> и <!-- END: MAIN -->
    Это основной логический блок шаблона, в котором находится весь код страницы регистрации. Блок передаётся на обработку методом parse('MAIN') объекта XTemplate.

  2. <!-- IF {PHP.cfg.homebreadcrumb} --> и <!-- ENDIF -->
    Условная конструкция, проверяющая включение хлебных крошек в конфигурации сайта. Если условие истинно, отображается блок с навигационной цепочкой.

  3. <!-- IF {PHP.cfg.captchamain|cot_plugin_active($this)} --> и <!-- ENDIF -->
    Условная конструкция, проверяющая, активен ли модуль CAPTCHA. Если условие истинно, отображается блок для проверки CAPTCHA.


Характеристика стиля HTML/CSS

  1. HTML
    Код шаблона построен на семантически правильной структуре: используется <table> для организации формы, <tr> и <td> для размещения полей ввода и их подписей. Атрибуты классов (width30, width70, small) используются для стилизации.

  2. CSS
    Стилизацию шаблона предполагается выполнять через классы, определённые в теме сайта. Используются классы с чёткими названиями, например block, valid, width30.

  3. JS
    В данном шаблоне JavaScript-код явно не представлен, что делает его лёгким для интеграции и адаптации. Любая дополнительная функциональность может быть добавлена на уровне темы или сторонних скриптов.

 

<!-- BEGIN: MAIN --> <!-- Начало основного логического блока Cotonti, который будет обработан методом $t->parse('MAIN'); -->

<div class="block">
    <!-- IF {PHP.cfg.homebreadcrumb} --> <!-- Проверка, включены ли "хлебные крошки" в конфигурации PHP.cfg.homebreadcrumb -->
    <div class="breadcrumbs">{USERS_REGISTER_BREADCRUMBS}</div> <!-- Вывод навигационных хлебных крошек, если они включены -->
    <!-- ENDIF --> <!-- Закрытие условия -->

    <h2 class="users">{USERS_REGISTER_TITLE}</h2> <!-- Заголовок страницы регистрации -->

    {FILE "{PHP.cfg.themes_dir}/{PHP.usr.theme}/warnings.tpl"} <!-- Включение файла шаблона warnings.tpl для отображения возможных предупреждений -->

    <form id="user-register" name="register" action="{USERS_REGISTER_SEND}" method="post" enctype="multipart/form-data">
        <table class="list">
            <tr>
                <td class="width30">{PHP.L.Username}:</td> <!-- Метка поля ввода имени пользователя -->
                <td class="width70">{USERS_REGISTER_USER} *</td> <!-- Поле для ввода имени пользователя, обязательное для заполнения -->
            </tr>
            <tr>
                <td>{PHP.L.users_validemail}:</td> <!-- Метка поля ввода email -->
                <td>
                    {USERS_REGISTER_EMAIL} * <!-- Поле для ввода email, обязательное для заполнения -->
                    <p class="small">{PHP.L.users_validemailhint}</p> <!-- Подсказка о необходимости ввода корректного email -->
                </td>
            </tr>
            <tr>
                <td>{PHP.L.Password}:</td> <!-- Метка поля ввода пароля -->
                <td>{USERS_REGISTER_PASSWORD} *</td> <!-- Поле для ввода пароля, обязательное для заполнения -->
            </tr>
            <tr>
                <td>{PHP.L.users_confirmpass}:</td> <!-- Метка поля подтверждения пароля -->
                <td>{USERS_REGISTER_PASSWORDREPEAT} *</td> <!-- Поле подтверждения пароля, обязательное для заполнения -->
            </tr>
            <!-- IF {PHP.cfg.captchamain|cot_plugin_active($this)} --> <!-- Проверка, активен ли плагин CAPTCHA в конфигурации -->
            <tr>
                <td>{USERS_REGISTER_VERIFY_IMG}</td> <!-- Изображение CAPTCHA -->
                <td>{USERS_REGISTER_VERIFY_INPUT} *</td> <!-- Поле для ввода CAPTCHA, обязательное для заполнения -->
            </tr>
            <!-- ENDIF --> <!-- Закрытие условия -->

            <tr>
                <td colspan="2" class="valid">
                    <button type="submit">{PHP.L.Submit}</button> <!-- Кнопка отправки формы регистрации -->
                </td>
            </tr>
        </table>
    </form>
</div>

<!-- END: MAIN --> <!-- Закрытие основного логического блока Cotonti -->

 

No comments yet
Only registered users can post new comments
Account