Это продолжение статьи, которую я писал ранее для 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>
Вот и все. Не забываем очистить модификаторы/кеш, чтобы изменения применились.