Создание дополнительного поля телефона в Опенкарт 3

При переходе с 2 на 3 версию опенкарт я столкнулся с проблемой добавления нескольких номеров в настройках на страницу контакты. По умолчанию только одно поле активно, что не всем подойдёт. Посетив много форумов я не нашел нужной информации т.к версия Opencart3 появилась не давно и ещё не развита толком. Да и к тому же формат шаблонов уже twig а не tpl.

 

И так приступим к добавлению нескольких полей телефонов в Опенкарт 3

В корне идём  – admin/view/template/setting и редактируем файл setting.twig

1. Пользуемся поиском находим блок и копируем его

<div>
<label for=”input-telephone”>{{ entry_telephone }}</label>
<div>
<input type=”text” name=”config_telephone” value=”{{ config_telephone }}” placeholder=”{{ entry_telephone }}” id=”input-telephone” />
{% if error_telephone %}
<div>{{ error_telephone }}</div>
{% endif %} </div>
</div>

 

2. Вставляете его и изменяете строку  

<input type=”text” name=”config_telephone” value=”{{ config_telephone }}” placeholder=”{{ entry_telephone }}” id=”input-telephone” />

на

<input type=”text” name=”config_telephone2” value=”{{ config_telephone2 }}” placeholder=”{{ entry_telephone }}” id=”input-telephone” />

 

Должно получиться так

<div>
<label for=”input-telephone”>{{ entry_telephone }}</label>
<div>
<input type=”text” name=”config_telephone” value=”{{ config_telephone }}” placeholder=”{{ entry_telephone }}” id=”input-telephone” />
{% if error_telephone %}
<div>{{ error_telephone }}</div>
{% endif %} </div>
</div>

<div>
<label for=”input-telephone”>{{ entry_telephone }}</label>
<div>
<input type=”text” name=”config_telephone2″ value=”{{ config_telephone2 }}” placeholder=”{{ entry_telephone }}” id=”input-telephone” />
{% if error_telephone %}
<div>{{ error_telephone }}</div>
{% endif %} </div>
</div>


 

Теперь идем в admin/controller/setting/ и находим в файле setting.php

1.Нам нужно блок

if (isset($this->request->post[‘config_telephone’])) {
$data[‘config_telephone‘] = $this->request->post[‘config_telephone‘];
} else {
$data[‘config_telephone‘] = $this->config->get(‘config_telephone‘);
}

 

Копируем и вставляем под ним,при этом изменяем значения

 

if (isset($this->request->post[‘config_telephone2’])) {
$data[‘config_telephone2‘] = $this->request->post[‘config_telephone2‘];
} else {
$data[‘config_telephone2‘] = $this->config->get(‘config_telephone2‘);
}

 

2.Следующий ищем блок

if (isset($this->error[‘telephone’])) {
$data[‘error_telephone’] = $this->error[‘telephone’];
} else {
$data[‘error_telephone’] = ”;
}

 

Копируем и вставляем под ним,при этом изменяем значения

if (isset($this->error[‘telephone2’])) {
$data[‘error_telephone’] = $this->error[‘telephone2’];
} else {
$data[‘error_telephone’] = ”;
}


 

На этом мы закончили работу с административной частью добавления дополнительного номера.

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

 

Переходим в catalog/controller/information/ и изменяем файл contact.php

1. Находим строку

$data[‘telephone’] = $this->config->get(‘config_telephone’);

2. Добавляем за ней

$data[‘telephone2’] = $this->config->get(‘config_telephone2’);


 

После переходим в catalog/view/theme/*/template/information/ и редактируем файл contact.twig

1. Нам нужна строка {{ telephone }}<br />
2. После этой строки добавляем {{ telephone2 }}<br />


 

На этом мы полностью внесли изменения для отображения и добавления нескольких номеров в Опенкарт 3.

Дополнительные номера для Опенкарт3

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *