как сделать поле обязательным при регистрации?

Тема в разделе "InstantCMS", создана пользователем duncan, 18 июл 2014.

Модераторы: Maybe
  1. duncan

    duncan батяр з личакова

    Регистр.:
    10 апр 2007
    Сообщения:
    1.596
    Симпатии:
    441
    версия 1.10.3
    Компоненты → Регистрация v1.10.3
    три поля, котовые могут быть подключены при регистрации:
    • Запрашивать ICQ при регистрации:
    • Запрашивать дату рождения при регистрации:
    • Запрашивать город при регистрации:
    как сделать так, что если активируется какая-то позиция из этих трёх, то чтобы она была обязательной при регистрации?
     
  2. freet

    freet Создатель

    Регистр.:
    21 янв 2014
    Сообщения:
    17
    Симпатии:
    9
    Админка -> Компоненты -> Конструктор форм -> Анкета пользователя -> Поля формы -> Заполнение: (обязательно/необязательно)
     
    duncan нравится это.
  3. duncan

    duncan батяр з личакова

    Регистр.:
    10 апр 2007
    Сообщения:
    1.596
    Симпатии:
    441
    это в самом профиле, мне же нужно при регистрации
     
  4. slavik11

    slavik11 ------------

    Регистр.:
    7 июл 2014
    Сообщения:
    211
    Симпатии:
    156
    На самом деле там все просто и freet был прав в том, что сначала надо создать поле
    Компоненты → Профили пользователей v1.10.3 вкладка " Дополнительные поля " ниже будет ссылка конструктор форм, создаете форму к примеру ICQ:
    Тип поля:
    текстовое
    Название поля: ICQ
    Описание поля: Ваш ICQ
    Порядок: какой хотите
    Заполнение: Обязательно
    Значения поля ссылкой: НЕТ
    Длина и ширина: свое

    Все далее так же Компоненты → Профили пользователей v1.10.3 вкладка " Дополнительные поля " и выбираете созданные поля, они будут обязательны как при регистрации так и показываться в профиле.
     
    duncan нравится это.
  5. freet

    freet Создатель

    Регистр.:
    21 янв 2014
    Сообщения:
    17
    Симпатии:
    9
    Рассмотрим на примере с городом

    1. Файл /components/registration/frontend.php
    после строчки $item['birthdate'] = sprintf('%04d-%02d-%02d', $item['byear'], $item['bmonth'], $item['bday']);
    добавить условие if(!$item['city']) { cmsCore::addSessionMessage($_LANG['ERR_CITY'], 'error'); $errors = true; }
    (если пользователь не выберет город, то показать сообщение с текстом $_LANG['ERR_CITY'] и установить флаг ошибки, для прерывания регистрации)

    2. Файл /languages/ru/components/registration.php
    после строчки $_LANG['ERR_CAPTCHA'] ='Неверно указан код на картинке!';
    добавить $_LANG['ERR_CITY'] ='Вы не указали город!';

    3. Файл /templates/_default_/components/com_registration.tpl
    после строчки {city_input value=$item.city name="city" width="300px"}
    добавить <span class="regstar">*</span>

    4. Файл /templates/_default_/css/styles.css
    после строчки .city_block {
    добавить float: left; margin-right: 4px;
    (что-бы звездочка нормально встала справа от поля)

    PS.
    Автор trOid
     
    tonimar, Tvtop и duncan нравится это.