Кроме того, я пытаюсь переопределить контроллер common/header, используя пример в плагине темы opencart, доступном в исходном коде. Я уже пытался установить событие для этого конкретного контроллера, которое срабатывает нормально. В функции переопределения заголовка я пытаюсь изменить маршрут, чтобы система использовала мой собственный контроллер, но каждый раз, когда я его запускаю, она просто продолжает использовать обычный исходный контроллер.
Может ли кто-нибудь пролить свет на то, в чем может быть дело? Мне кажется, что это должно работать на основе очень подробной документации, доступной от разработчиков OpenCart для этой новой версии.
Сейчас я регистрирую событие при установке:
Код: Выделить всё
$event_data = [
'code' => 'oc_pif_theme_example',
'description' => 'Pif Example theme extension controller override',
'trigger' => 'catalog/controller/common/header/before',
'action' => 'extension/oc_pif_theme_example/startup/theme_example.header_override',
'status' => 1,
'sort_order' => 0
];
$this->load->model('setting/event');
$this->model_setting_event->addEvent($event_data);
Код: Выделить всё
public function header_override(string &$route, array &$args): void {
$override = ['common/header'];
if (in_array($route, $override)) {
// Override the route to point to your new controller
$route = 'extension/oc_pif_theme_example/' . $route;
$this->log->write('header_override() final route: ' . $route);
}
}
Все, что может указать мне правильное направление, ценится. Спасибо за ваш вклад.
Подробнее здесь: https://stackoverflow.com/questions/776 ... cart-4-x-x