Opencart 3 — Свои поля настроек в админке. Вывод полей на сайте.

2
1338

Иногда на сайте нужно вывести некоторые дополнительные данные, которых нет в админ панели. Например, добавить новые номера телефона, добавить ссылки на соц сети, вставить в  нужном месте время работы магазина и т.д. Для этой задачи можно задать свои настройки. Разберем пример по добавлению собственного поля настройки.

 

В файле \admin\view\template\setting\setting.twig

в нужном месте создаем копию поля fax, после

вставляем свое поле:

где имя config_val01 — новая переменная, в которой будут хранится данные.

Далее в файле \admin\controller\setting\setting.php

 

после

вставляем

Далее в БД mysql делаем запрос:

где config_val01 — имя переменной, 77777 — тестовые данные, их затем изменим в админке,

 

20477 — id поля настроек в админке, смотрим в phpmyadmin таблицу oc_settings, (1) — кликаем 2 раза, сортируем от большего к меньшему, смотрим крайний id, на примере до того, как мы добавили новую запись, крайний id был 20475, поэтому в запросе мы указали 20477 (главное что бы число было больше крайнего id, мы могли бы указать как 20476, так и 20478, 20479 и т.д.)

 

 

Переходим в админку, обновляем модификаторы и видим новое поле:

 

 

Это поле уже можно изменять, редактировать и оно уже сохраняется в БД. Остается вывести это поле на сайте.

 

В файле \catalog\controller\common\header.php

после строки

вставляем

Далее, в файле \catalog\view\theme\your_theme\template\common\header.twig

в нужном месте вставляем

если нужно вставить ссылку на номер телефона, используйте такую запись, что бы при ссылке на телефон обрезать символы : -, пробел, (, ) и т.д.

 

Обновляем модификаторы и видим результат на сайте.

 


 

Что бы в админке новые поля были размещены в отдельной вкладке, выполним следующее:

 

после

вставляем

далее ниже, после блока СЕРВЕР

вставляем новые поля, я их сделал 3 штуки:

Обновляем модификаторы и в итоге получаем новую вкладку:

 

 


 

Дополнение:

 

Поле с текстовым редактором (textarea) + Радио кнопки включения/отключения вывода поля

 

по примеру выше добавляем название вкладки

Далее после блока <div class=»tab-pane» id=»tab-server»> … </div>

 

Вставляем код:

Строка <script src=»/admin/view/javascript/tinymce.min.js»></script> подключает текстовый редактор tinymce, его скачать можно по ссылке.

(все содержимое архива скопировать в папку /admin/view/javascript)

 

Далее аналогично как в примере выше в файле \admin\controller\setting\setting.php вставляем код

Затем в файлах \catalog\controller\common\header.php и

\catalog\view\theme\your_theme\template\common\header.twig

 

В итоге получится такой блок с настройками

 

2 КОММЕНТАРИИ

  1. Подскажите а как в поле вывести html подобная конструкция «address|raw» выводит html как текст

    • А где вы взяли такой синтаксис «address|raw»? Я думаю он будет понимать только стандартные html сущности.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here