Короткий ответ на ваш вопрос - нет. В Apostrophe 2.x (текущая стабильная версия) вы должны решить для себя, заинтересована ли ваша функция pageBeforeSend
в конкретном документе, и немедленно возвратить или вызвать обратный вызов (если он у вас есть), если он не имеет значения.
Однако вот более длинный ответ, который может пролить больше света на этот вопрос для вас.
Метод pageBeforeSend
является особенным: он вызывается для каждого модуля, в котором он существует . Это известно как callAll
метод.
Таким образом, в методах callAll вы несете ответственность за решение, соответствует ли запрос или документ вашим интересам или нет. И если вы посмотрите на наши собственные обработчики методов callAll, вы заметите, что если есть какие-либо сомнения, мы всегда начинаем с немедленного вызова обратного вызова и возврата, если запрос или документ не релевантны.
Обратите внимание, что в новом коде вы должны , а не писать новые обработчики callAll
. Вместо этого вы должны написать обработчики событий обещания . Это рекомендуется в 2.x, а в 3.x это будет единственным способом. Однако в 2.x ваш вопрос имеет тот же ответ при написании обработчиков событий обещания: вы должны определить, соответствует ли запрос или документ вашим интересам, а если нет, вежливо вернуться, ничего не делая.
В 3.x мы будем улучшать это. Код 3.x (в значительной степени незавершенная работа, не готов к проектам!) Генерирует события типа beforeInsert
через модуль менеджера документов для рассматриваемого документа, но позволяет вам решить, перехватывать ли их по имени этого модуля, или через родительский класс, такой как apostrophe-doc-type-manager
(соответствующий всем beforeInsert
событиям для всех типов документов) или apostrophe-pieces
(соответствующий всем beforeInsert
событиям для частей, но не для страниц).