+0.53
Рейтинг
0.04
Сила

Karel

Порядок вызова плагинов при обработке хука

Ситуация:

Два плагина (ExpWall и Page) регистрируют функции на один и тот же хук:

$this->AddHook('template_main_menu_item', 'MenuMain', __CLASS__);


и

$this->AddHook('template_main_menu_item', 'Menu');


Как определить, в каком порядке будут вызываться обработчики хуков у каждого плагина (я полагаю, по алфавиту — ExpWall, потом Page)?

Как переопределить очередность вызова плагинов при обработке одного хука? Мне нужно, чтобы сначала отработал плагин Page, а потом ExpWall.

РЕШЕНО:
Метод Hook->AddHook() имеет 4-ым параметром int-значение — очередность обработки кука. Чем она выше — тем раньше отработает обработчик.

Многие плагины этот параметр игнорируют — он принимает значение по умолчанию 1 и тогда плагины вызываются по алфавиту.