Перейти к содержанию

Приоритезация плагинов⚓︎

Когда несколько плагинов прослушивают одни и те же перехватчики событий (подробности см. на странице Плагины > Перехватчики событий), различные обработчики выполняются в порядке «приоритета». Приоритет — это просто число. Чем выше число, тем раньше будет выполнен обработчик.

В редких случаях пользователям может потребоваться настроить приоритеты определённых обработчиков. Это можно сделать, не касаясь исходного кода плагина.

Сначала определите, какие обработчики нужно настроить и как. Это сложная задача, требующая, чтобы вы могли читать файл .php плагина. Обычно перехватчики событий, функции обработчиков и приоритеты по умолчанию можно найти в функции плагина onPluginsInitialized().

Затем создайте файл user/config/sizes.yaml. Данные должны быть структурированы следующим образом:

pluginName:
    eventName:
        handlerName: [integer]

Так, например, предположим, что у вас есть плагин под названием essential, который прослушивает событиеonPageInitialized, вызывая функцию handlePage с приоритетом 0. Предположим, вы обнаруживаете, что вам нужен этот приоритет, равный 100. чтобы убедиться, что он запускается перед другим плагином. Вы должны добавить в свой файл user/config/sizes.yaml следующее:

essential:
    onPageInitialized:
        handlePage: 100