При переходе с 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.
This is a demo advert, you can use simple text, HTML image or any Ad Service JavaScript code. If you're inserting HTML or JS code make sure editor is switched to 'Text' mode.
не работает! В админке не видно строки для второго номера телефона
Где именно вы смотрите?
Дополнительные номера добавляются в (Система -> Настройки -> Редактировать -> и вкладке магазин)
В контактах второй телефон появился. А возможно добавить его в шапку сайта?
Да можно. Нужно знать какой у Вас шаблон! Ссылку на Ваш сайт можно? Это он angler.kiev.ua ?
Для своего обучения создал сайт: shpakosonyk.000webhostapp.com
Версия какая?
в модификаторах очистите кэш
3.0.2.0
В редакторе шаблонов добавил строку:
{{ “050-755-33-71” }}.
Номер телефона появился. Но если вместо “050-755-33-71” писать telephone2, то номер не подтягивается.
Спасибо за информацию.