Как добавить в OpenCart 3.x новую вкладку в карточке товара

8
3034

В данной статье рассмотрим как добавить новые вкладки в карточке товара с редактированием их из админки. Приступим, добавим поле в админку, затем на сам сайт.

 

Для начала добавим новое поле а БД, откроем Базу Данных в phpmyadmin и сделаем запрос

 

В итоге добавится новое поле sostav, где и будет храниться текст вкладки. Далее редактируем файлы сайта.

 

Админка, файл \admin\view\template\catalog\product_form.twig

 

после

вставляем

(назовем вкладку СОСТАВ)

 

файл \admin\controller\catalog\product.php

 

перед

вставляем

файл \admin\model\catalog\product.php

 

в запросе, в районе 12 строки

добавляем

получится такой запрос:

далее ниже, в районе 146 строки, в запросе

добавляем аналогичную как выше запись, получаем:

и ниже в районе 435 строки, после

вставляем


 

Теперь выведем вкладку на сайте,

 

файл \catalog\view\theme\*\template\product\product.twig

 

после

вставляем

и ниже, после

вставляем

Далее, файл \catalog\controller\product\product.php

 

после

вставляем

Файл \catalog\model\catalog\product.php

 

после

вставляем

и ниже после

вставляем


 

Обновляем модификаторы. В итоге в админке у нас новое поле во вкладке ОСНОВНОЕ

 

 

И на сайте появляется новая вкладка:

 

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

  1. Полезная статья, только вот по данной инструкции выдает ошибки

    Uncaught exception ‘Twig_Error_Syntax’ with message ‘Unexpected token «name» of value «sostav» («end of statement block» expected) in «Toolsjet/template/product/product.twig» at line 276.’
    in …/system/library/template/Twig/TokenStream.php:87 Stack trace: #0 …/system/library/template/Twig/TokenParser/If.php(33): Twig_TokenStream->expect(3) #1 …/system/library/template/Twig/Parser.php(187): Twig_TokenParser_If->parse(Object(Twig_Token)) #2 …/system/library/template/Twig/Parser.php(100): Twig_Parser->subparse(NULL, false) #3 …/system/library/template/Twig/Environment.php(619): Twig_Parser->parse(Object(Twig_TokenStream)) #4 …/shop/system/library/template/Twig/Environment.php(671): Twig_Environment->parse(Object(Twig_TokenStream)) #5 …/system/library/template/Twig/Envi in …/system/library/template/Twig/TokenStream.php on line 87

  2. Ошибку Uncaught exception ‘Twig_Error_Syntax’ with message ‘Unexpected token «name» of value «sostav» …. УСТРАНИЛ.
    Теперь вот какая беда — в админке выводит два текстовых поля, как и предполагается. Если ввести текст в поле «Состав» то после сохранения этот тескт выводится в поле «Описание», но а поле «Состав» — пусто
    Вкладки «Состав» в карточке товара нет

    • Внимательно все перепроверьте, наверное не везде поменяли название старого поля на новое

  3. Подтверждаю..
    Перепроверил всё три раза.. Сделал даже с вашим именем Состав..
    Сыпет ошибками. Пробовал и на дефолтном шаблоне..

    • Здравствуйте, пришлите текст ошибок здесь — мы еще раз перепроверим инструкцию специально для вас

    • Добрый день, лучше делайте запрос как на скрине (вставили новый скрин под кодом запроса в статье). Туда вставляете и нажимаете «Вперед». После запроса можете зайти в таблицу oc_product_description и проверить появилось ли новое поле. Если поле есть — значит все сделали правильно.

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

Please enter your comment!
Please enter your name here