Главная / webdev, Ворклоги / Описание производителей в Opencart 3. Бесплатно

Описание производителей в Opencart 3. Бесплатно

Автор: | 03.11.2023

Качаем модуль из офф каталога опенкарт Manufacturer Description | SEO | Meta Data — Journal 3 Support

Там из коробки заявлена поддержка 3.0.2.0, но для темы Journal. Мне удалось завести его на 3.0.3.2 в другой теме с небольшими манипуляциями.

На выходе получил вполне стандартный интерфейс oc3 для описаний производителей, которое выводится в админке при редактировании производителя и на фронте сайта — на странице того самого производителя.

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

Если вы уже загрузили модуль и что-то не работает, то можете сделать следующие правки без переустановки модуля — через правку модификаций

Первое. Открываем скачанный архив и редактируем файл install.xml

Правка 1.

Строка 234:

<search index='3'><![CDATA[
            {% else %}
            ]]></search>

на

 <search><![CDATA[
            {% if products %}
            ]]></search>

Правка 2. Не обязательная.

на строке 127 заменяем

 <li><a href="#language{{ language['language_id'] }}" data-toggle="tab"><img src="/admin/language/en-gb/en-gb.png" title="{{ language['name'] }}" /> {{ language['name'] }}</a></li>

на

<li><a href="#language{{ language['language_id'] }}" data-toggle="tab"><img src="/admin/language/{{ language.code }}/{{ language.code }}.png" title="{{ language['name'] }}" /> {{ language['name'] }}</a></li>

Эта замена (чисто косметическая) нужна для того, чтоб вам на вашем текущем языке не показывали GB-флаг, который в оригинальном коде, а показывали флаг вашего языка.

Второе. Содержимое файла install.sql исполняем как запрос в БД вашего магазина.

Там ничего криминального нет

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+02:00";

CREATE TABLE IF NOT EXISTS `oc_manufacturer_description` (
  `manufacturer_id` int(11) NOT NULL,
  `language_id` int(11) NOT NULL,
  `description` text NOT NULL,
  `meta_title` varchar(255) NOT NULL,
  `meta_description` varchar(255) NOT NULL,
  `meta_keyword` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

ЛИБО! Вносим третью правку в файл install.xml

А именно — добавляем следующий код перед закрывающим тегом </modification> в конце файла

<file path="system/library/db.php">
    <operation>
        <query><![CDATA[
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+02:00";

CREATE TABLE IF NOT EXISTS `oc_manufacturer_description` (
  `manufacturer_id` int(11) NOT NULL,
  `language_id` int(11) NOT NULL,
  `description` text NOT NULL,
  `meta_title` varchar(255) NOT NULL,
  `meta_description` varchar(255) NOT NULL,
  `meta_keyword` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
        ]]></query>
    </operation>
</file>

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

Проблемы, ошибки, замечания.

Если не выполните описанный выше запрос в бд, то получите ошибку при входе в редактирование категории.

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

Поле для описания — без визуального редактора, но понимает HTML. Для того, чтоб работал стандартный опенкарт-редактор — нужно ещё подключить summernote к странице редактирования производителя.

Скачать бесплатно отредактированный файл плагина.

Если Вам не хочется редактировать файл вручную — вы можете скачать файл плагина описаний производителя с уже внесенными правками на моем сайте. Кроме перечисленных выше правок, там подключен визуальный редактор для поля описания, а также исправлена одна js-ошибка.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *