Добавление новых полей в форму регистрации на примере шаблона Demomarket — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «== Задача == Реализовать добавление новых регистрационных полей в шаблоне Demomarket. == Решени…»)
 
(registrate.phtml)
(не показано 13 промежуточных версий этого же участника)
Строка 6: Строка 6:
  
 
===registrate.phtml===
 
===registrate.phtml===
Файл находится по адресу /templates/demomarket/php/users/registrate.phtml
+
Файл находится по адресу <code>/templates/demomarket/php/users/registrate.phtml</code>
  
 
Для начала в файле необходимо скопировать следующий элемент :  
 
Для начала в файле необходимо скопировать следующий элемент :  
 
+
<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=""''',на тот который требуется. В дальнейшем его можно будет переместить куда вам необходимо.
  
Для примера возьмём метод "data[new][fname]" - добавление поля "имя", с остальными методами вы можете ознакомиться по адресу ваш_домен.ru/admin/data/type_edit/88/  или в админке сайта Модули>Шаблоны данных>  и справа в строке поиска вписать нужный тип данных.
+
Для примера возьмём метод "data[new][fname]" - добавление поля "Имя", с остальными методами вы можете ознакомиться по адресу <code>ваш_домен.ru/admin/data/type_edit/88/</code> или в админке сайта Модули>Шаблоны данных>  и справа в строке поиска вписать нужный тип данных.
  
 
Базовая конструкция шаблона 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>

Этот скрипт можно будет вставить над любым регистрационным полем куда вам требуется.

Результат

Если все сделано правильно, в поле для регистрации над вводом 'логина' появится 'Имя':