Контроль порядка выполнения хуков в шаблоне
Есть планин А, есть плагин Б. Оба плагина с помощью хука Hook_1 делают инъекцию кода в шаблон.
Как упорядочить очередность инъекции через один хук?
Нашел lifehack, вручную прописать очередность подключения плагинов в plugins.dat, но это поможет не всегда.
Если кто знает, подскажите, пожалуйста.
Как упорядочить очередность инъекции через один хук?
Нашел lifehack, вручную прописать очередность подключения плагинов в plugins.dat, но это поможет не всегда.
Если кто знает, подскажите, пожалуйста.
9 комментариев
По-другому, без вмешательства в код плагинов, боюсь никак. А так — в AddHook четвертым параметром идет как раз приоритет выполнения функции. Т.е. в зависимости от нужного порядка делаете у первого плагина это значение беольше (или меньше) чем у второго.
В шаблоне есть хук, например, Hook_1.
Оба плагина претендуют на вывод своих хуков в это место. Какой смысл делать дополнительный хук в шаблоне, тем более, что это существенно влияет на совместимость плагинов с шаблонами?
Если мы сделаем в этом же шаблоне, рядом, новое место под вывод Hook_2, то получится несовместимость с другими шаблонами, где место под вывод Hook_2 неопределено.
Это нормально, если делать только для себя, но если для публики, то люди столкнутся с необходимостью правки шаблона. Это не плохо, просто неудобно.