Как получить ID модуля в Opencart 2.x
Если вам нужно получить ID модуля в контроллере модуля Opencart 2, то вы заметите, что его там нет. В массиве $setting он тоже не передаеться, но его можно туда добавить двумя способами, которые мы подробно опишем здесь.
Способ №1
Открыть файл модели \catalog\model\extension\module.php
найти
return json_decode($query->row['setting'], true);
заменить на
$settings = json_decode($query->row['setting'], true);
$settings['module_id'] = $module_id;
return $settings;
В итоге получим в самом модуле, id модуля в $setting['module_id']
Способ №2
В файле \catalog\controller\common\content_top.php
ищем
$setting_info = $this->model_extension_module->getModule($part[1]);
и ниже добавим
$setting_info['module_id'] = $part[1];
и так же проделать в остальных контроллерах позиций (content_bottom.php, column_left.php, column_right.php и др.).
В итоге получим в самом модуле, id модуля в $setting['module_id']
Популярные модули Opencart 2