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

Как в Opencart 2 вывести дополнительный текст, к примеру, в описании карточки товара?

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

Первый способ. НЕ рекомендую

Нашел на одном сайте такой способ.

Делается отдельная статья в админке: КаталогСтатьи. И потом она вызывается в карточке товара.

Создали статью, потом идем в файл контроллера товара product.php и добавляем эти строки внутри функции public function index() {

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

здесь 111 это id нужной статьи.

И теперь в файле шаблона pruduct.tpl в любом месте вызываем содержимое этой статьи такой строкой:

<?php echo $vasha_infa; ?>

Минус данного способа в том, что такой вызов статьи в карточке товара будет работать ТОЛЬКО если статья опубликована (включена). Многие думают, что ее можно отключить и типа она всё равно будет вызываться, но увы, это не так. Проверено.

Из этого следует, что, если статья будет включена (опубликована), то она будет болтаться в Карте сайта и лезть самостоятельно в индекс, а этого уже нельзя допустить. Это мусор.

Второй способ. Годный

Скачать и установить плагин либо отсюда https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=28104. Если же ссылка устарела и не открывается, можете скачать прямо здесь с сайта. Он бесплатный, ничьи права не нарушаются.

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

Но если у вас много товаров, то по каждому товару пробегаться, вставлять новый шорткод будет утомительно, поэтому мы просто подготавливаем шорткод, а далее идем в файл шаблона карточки товара product.tpl.

Я предварительно создал новый шорткод html-типа (там в настройках плагина вы увидите три типа php, html и js) с необходимым содержимым текстом, назвал его произвольно custom_shortcode, сохранил.

Далее в файле шаблона карточки товара вставил такую строку:

<?php echo $this->shortcode('custom_shortcode'); ?>

Плюс такого способа:

  1. одним махом можно отключить этот шорткод путем заключения этой строки в скобки комментария.
  2. для данной php-строки можно написать условие, когда она будет показываться. К примеру, фрагмент текста, который зашит в шордкоде, нужен не для всех товаров, а только для определенной категории. Поэтому можно ограничить показ данного шорткода в рамках конкретной категории.

Из бесплатных способов, пожалуй, всё.

А вообще, есть платные плагины для шорткодов в Opencart 2, легко находятся при желании.

Оцените статью
Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Rauf
Rauf
1 год назад

не работает модуль( установил на ocstore 2.3