Как вывести любую информацию в любом месте в карточке товара

категория: , Дорабатываем, Полезности


Опубликовано: 15.11.2018 Обновлено: 15.04.2019 Просмотров: 16459 Комментарии: 11


Как вывести любую информацию в любом месте в карточке товара

Для того что бы вывести кастомную информацию не надо много кода. Достаточно применить правильный подход и пару строк кода. Читаем в статье.


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

Конечно, можно сделать в стиле хард кодинг - это прописать текст в нужном блоке прямо в шаблоне интернет магазина. Но это не наши методы. При таком подходе для изменения информации надо залезать в код. Ну очень жестко. Тем более ни о какой мультиязычности не может быть и речи. Ладно не буду описывать неправильное. Гораздо лучше акцентировать внимание как сделать правильно.

Делаем функционал


Для того что бы вывести информацию нам надо ее создать и где-то редактировать. Я сторонник того что бы как можно меньше делать какой-то кастом а использовать по максимуму стандартные возможности движка.

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

После этого открываем контроллер товара catalog/controller/product/product.php и вставляем строки:

$this->load->model('catalog/information');
$information_info = $this->model_catalog_information->getInformation(777);
$data['custom_info'] = html_entity_decode($information_info['description'], ENT_QUOTES, 'UTF-8');

где 777 - это id статьи.

После этого у нас в шаблон товара уже передается переменная custom_info где и будет выводится на нужном языке информация в карточке товара. Для вывода достаточно вывести в любом нужном месте в карточке товара кодом: <?php echo $custom_info; ?>

Редактировать ее можно как и обычную статью через админку.  С минимальными изменениями мы сделали отличный кастомный функционал.


Комментарии:


Фото комментатора

Юрий 31.05.2019

Что такое id статьи ?
Администратор

Ответ for-opencart.com 31.05.2019

Собственно ее идентификатор - он в базе идет как уникальное поле
Фото комментатора

Alex 19.06.2019

Для ОС 3.0.3.2 всё аналогично? Сделал DIV, в нём вывод $custom_info. DIV показывает но пустой :(
Администратор

Ответ for-opencart.com 19.06.2019

Для Opencart 3 версии надо использовать twig где для вывода переменной надо указать не а {{ custom_info}}
Фото комментатора

Валерий 10.07.2019

Сделал на oc 2.3.0.2? получил ошибку: Notice: Undefined variable: custom_info in /var/www/u0511234/data/www/site.ru/system/storage/modification/catalog/view/theme/default/template/product/product.tpl on line 320
Администратор

Ответ for-opencart.com 10.07.2019

Попробуйте обновить кеш модификаторов или же нев том месте где-то вставили что переменная не найдена
Фото комментатора

Даниил 18.10.2019

Я когда-то давно использовал этот метод в сочетании с плагином https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=28104 Т.е. в тексте статьи забиваешь шорткод, например {{article_1}} или {{article_2}}, создаёшь статью с соотв. id, а в шаблоне вставляешь проверку наличия шорткодов. Клиентам было очень удобно
Фото комментатора

Petr 25.01.2020

а как вывести имя и другие данные пользователя в нужном месте? Например, в хэдере или на главной страничке в личном кабинете в opencart 3.0.3 ? Данные уже ведь собираются в контроллере в стандартном шаблоне, раз есть возможность регистрации и создания личного кабинета или нет?
Администратор

Ответ for-opencart.com 25.01.2020

Посмотрите как это сделано в личном кабинете в контроллере и по аналогии выводите в любом месте на сайте
Фото комментатора

Казыбек 26.02.2020

Здравствуйте, автор. Как вывести не один а три статью?
Администратор

Ответ for-opencart.com 26.02.2020

Добрый день! Все по аналогии. Здесь пример кода, его можно модифицировать как угодно
Фото комментатора

MAx 05.03.2020

Вы забыли сказать что статья эта для хранения инфы попадает в карту сайта и будет индексироваться как не нужный мусор. А так как данный контент вы будете использовать еще где-то,то будет еще и дублированный контент на сайте.
Администратор

Ответ for-opencart.com 05.03.2020

Верно, но что бы такого не было надо статью просто держать выключенной что бы нигде ее на сайте не было а юзать можно было для своих целей
Фото комментатора

Роман 28.04.2020

Подскажите, пожалуйста, для версии Opencart 1.5.5.1 актуально или там другие переменнные в коде? А то все сделал, а выдает ошибку - Undefined variable: custom_info in /www/vqmod/vqcache/vq2-catalog_view_theme_simplegreat_template_product_product.tpl on line 421 Спасибо за Ваш ответ!
Фото комментатора

Zloy 04.05.2020

Эмм..Для этого разве не надо делать модификатор? При обновлении ведь слетит все, да и противоречит идеологии...
Фото комментатора

Михаил 08.05.2020

Вывел статью с помощью вашего кода, а как добавить раздел в карточке товара рядом с "описанием" и "характеристиками" чтобы он так же переключался и был виден только при выборе вкладки?
Фото комментатора

Юрий 20.07.2020

Здравствуйте. Подскажите пожалуйста, как возможно вывести на главную страницу два беннера, например под блоком новинки? Зарание спасибо!

Быстрый поиск

Новое на сайте