Как в 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'); ?>
Плюс такого способа:
- одним махом можно отключить этот шорткод путем заключения этой строки в скобки комментария.
- для данной php-строки можно написать условие, когда она будет показываться. К примеру, фрагмент текста, который зашит в шордкоде, нужен не для всех товаров, а только для определенной категории. Поэтому можно ограничить показ данного шорткода в рамках конкретной категории.
Из бесплатных способов, пожалуй, всё.
А вообще, есть платные плагины для шорткодов в Opencart 2, легко находятся при желании.
не работает модуль( установил на ocstore 2.3
у вас тема дефолтная?