Странно а мне метод ядра линкующий нужные контроллеры, говорит что pre_action, учитываются и я не вижу никаких условий навроде "идёт вывод модулей" а в сам pre_action можно подсунуть что угодно) А ещё третье поле таблицы "твойпрефикс_"events своим названием trigger SELECT `trigger` FROM `oc_event` , как бы намекает что само событие ты как бы триггеришь. А ещё видов триггеров вагон и маленькая тележка, от отрицания до ячейки памяти, раз уж ты решил писюнами меряться а не по теме помочь)
P.S говоря метод ядра я имею в виду
public function dispatch(Action $action, Action $error)
{
$this->error = $error;
foreach ($this->pre_action as $pre_action) {
$result = $this->execute($pre_action);
if ($result instanceof Action) {
$action = $result;
break;
}
}
while ($action instanceof Action) {
$action = $this->execute($action);
}
}
в классе route
Да и фреймворк вроде без оглядки на что либо просто тянет все pre_action какие есть из таблицы
if ($config->has('action_pre_action')) {
foreach ($config->get('action_pre_action') as $value) {
$route->addPreAction(new Action($value));
}
}
В то время как сам эвент возвращает $result без каких либо $this->output, что намекает на то что скрипт может спокойно взять его и работать дальше, exit() не вызван.
public function trigger($event, array $args = array()) {
foreach ($this->data as $value) {
if (preg_match('/^' . str_replace(array('\*', '\?'), array('.*', '.'), preg_quote($value['trigger'], '/')) . '/', $event)) {
$result = $value['action']->execute($this->registry, $args);
if (!is_null($result) && !($result instanceof Exception)) {
return $result;
}
}
}
}