Добавление новых полей в форму регистрации на примере шаблона Demomarket — различия между версиями
Senatorov (обсуждение | вклад) (→Решение) |
Senatorov (обсуждение | вклад) (→registrate.phtml) |
||
Строка 9: | Строка 9: | ||
Для начала в файле необходимо скопировать следующий элемент : | Для начала в файле необходимо скопировать следующий элемент : | ||
− | + | <source lang='php'> | |
<div class="important"> | <div class="important"> | ||
<input type="text" name="login" placeholder="<?= $this->translate('login') ?>" required> | <input type="text" name="login" placeholder="<?= $this->translate('login') ?>" required> | ||
<span class="sub_text"><?= $this->translate('login') ?></span> | <span class="sub_text"><?= $this->translate('login') ?></span> | ||
</div> | </div> | ||
− | + | </source> | |
Далее его необходимо вставить прямо над элементом который был скопирован и изменить метод '''name=""''',на тот который требуется. В дальнейшем его можно будет переместить куда вам необходимо. | Далее его необходимо вставить прямо над элементом который был скопирован и изменить метод '''name=""''',на тот который требуется. В дальнейшем его можно будет переместить куда вам необходимо. | ||
Строка 20: | Строка 20: | ||
Базовая конструкция шаблона data[new]+требуемый метод, исходя из этого скрипт будет выглядеть следующим образом: | Базовая конструкция шаблона data[new]+требуемый метод, исходя из этого скрипт будет выглядеть следующим образом: | ||
− | + | <source lang='php'> | |
<div class="important"> | <div class="important"> | ||
<input type="text" name="data[new][fname]" placeholder="<?= $this->translate('login') ?>" required> | <input type="text" name="data[new][fname]" placeholder="<?= $this->translate('login') ?>" required> | ||
<span class="sub_text"><?= $this->translate('login') ?></span> | <span class="sub_text"><?= $this->translate('login') ?></span> | ||
</div> | </div> | ||
− | + | </source> | |
Нам осталось только поменять то что находится в скобках перед селектором "translate" вместо 'login' необходимо написать слово 'Имя' в двух местах. | Нам осталось только поменять то что находится в скобках перед селектором "translate" вместо 'login' необходимо написать слово 'Имя' в двух местах. | ||
Вот как у вас должен выглядеть итоговый скрипт: | Вот как у вас должен выглядеть итоговый скрипт: | ||
− | + | <source lang='php'> | |
<div class="important"> | <div class="important"> | ||
<input type="text" name="data[new][fname]" placeholder="<?= $this->translate('Имя') ?>" required> | <input type="text" name="data[new][fname]" placeholder="<?= $this->translate('Имя') ?>" required> | ||
<span class="sub_text"><?= $this->translate('Имя') ?></span> | <span class="sub_text"><?= $this->translate('Имя') ?></span> | ||
</div> | </div> | ||
− | + | </source> | |
Этот скрипт можно будет вставить над любым регистрационным полем куда вам требуется. | Этот скрипт можно будет вставить над любым регистрационным полем куда вам требуется. | ||
Версия 14:15, 12 сентября 2019
Содержание
Задача
Реализовать добавление новых регистрационных полей в шаблоне Demomarket.
Решение
Для этого необходимо внести небольшие изменения в один файл шаблона:
registrate.phtml
Файл находится по адресу /templates/demomarket/php/users/registrate.phtml
Для начала в файле необходимо скопировать следующий элемент :
<div class="important">
<input type="text" name="login" placeholder="<?= $this->translate('login') ?>" required>
<span class="sub_text"><?= $this->translate('login') ?></span>
</div>
Далее его необходимо вставить прямо над элементом который был скопирован и изменить метод name="",на тот который требуется. В дальнейшем его можно будет переместить куда вам необходимо.
Для примера возьмём метод "data[new][fname]" - добавление поля "Имя", с остальными методами вы можете ознакомиться по адресу ваш_домен.ru/admin/data/type_edit/88/
или в админке сайта Модули>Шаблоны данных> и справа в строке поиска вписать нужный тип данных.
Базовая конструкция шаблона data[new]+требуемый метод, исходя из этого скрипт будет выглядеть следующим образом:
<div class="important">
<input type="text" name="data[new][fname]" placeholder="<?= $this->translate('login') ?>" required>
<span class="sub_text"><?= $this->translate('login') ?></span>
</div>
Нам осталось только поменять то что находится в скобках перед селектором "translate" вместо 'login' необходимо написать слово 'Имя' в двух местах.
Вот как у вас должен выглядеть итоговый скрипт:
<div class="important">
<input type="text" name="data[new][fname]" placeholder="<?= $this->translate('Имя') ?>" required>
<span class="sub_text"><?= $this->translate('Имя') ?></span>
</div>
Этот скрипт можно будет вставить над любым регистрационным полем куда вам требуется.
Результат
Если все сделано правильно, в поле для регистрации над вводом 'логина' появится 'Имя':