Архив

Добавляем модулю свой class или id. OpenCart 3

Добавляем модулю свой class или id. OpenCart

Это продолжение статьи, которую я писал ранее для OpenCart 2. Недавно понадобилось добавить class на 3 Опенкарт и там это немного по другому

Для передачи модулям их id открываем файл /catalog/model/setting/module.php и находим строку

    return json_decode($query->row['setting'], true);

    и меняем на

                $settings = json_decode($query->row['setting'], true);
                $settings['module_id'] = $module_id;
                return $settings;

    2. Открываем контроллер нужного модуля. В Опенкарт 3 /catalog/controller/extension/module/

    3. В начале любого контроллера модуля находим функцию

    public function index

    и ниже нее добавляем

    $module = $data['module'] = $setting['module_id'];

    Сохраняем.

    4. Далее открываем шаблон модуля (.twig файл), они находятся тут /catalog/view/theme/ВАША-ТЕМА/template/extension/module/ и добавляем в нужное место

    {{ module_id }}

    Например, на примере модуля html.twig. У него стандартный код такой

    <div>{% if heading_title %}
      <h2>{{ heading_title }}</h2>
      {% endif %}
      {{ html }}</div>

    Меняем на

    <div class="module-id-{{ module_id }}">{% if heading_title %}
      <h2>{{ heading_title }}</h2>
      {% endif %}
      {{ html }}</div>

    Вот и все. Не забываем очистить модификаторы/кеш, чтобы изменения применились.

    Нужна доработка или готовое решение?

    Опишите задачу — отвечу в течение дня и назову сроки и стоимость.

    Оставить комментарий