modAction и связанные
Последнее обновление Jan 28th, 2020 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$280 per month—let's make that $500!
Learn moreВся функциональность, связанная с modAction, была удалена в MODX3. Это сопровождалось очисткой классов modManagerResponse иmodManagerController.
Это означает, что URL-адреса менеджера в виде /manager/?a=15 (где 15 - это идентификатор действия) больше не будут работать. Дополнительные функции, которые полагаются на это, должны быть обновлены, чтобы использовать вместо них маршрутизацию на основе пространства имен в форме /manager/?namespace=myextra&a=action.
Для некоторых дополнений это может потребовать переписывания контроллеров. Для других достаточно просто изменить определение меню (в Система > Меню).
Удален: MODx.action (JavaScript)¶
MODx.action переменная javascript в менеджере больше недоступна и может вызвать ошибку при доступе без проверки, существует ли она.
Удален: modX::$actionMap¶
С удалением действий actionMap больше не служит цели и был удален.
Удален: modCacheManager::generateActionMap()¶
Вместе с modX::$actionMap, метод, который его генерирует, modCacheManager::generateActionMap() также был удален.
Удален: modManagerRequest::loadActionMap()¶
Использовался для заполнения modX::$actionMap, был удален.
Изменено: параметры переданы в событие OnBeforeManagerPageInit¶
Предварительно, OnBeforeManagerPageInit получил параметр $action в виде массива. Теперь он включает в себя следующие параметры:
-
string $namespaceпространство имен для запроса -
string $namespacePath(основной) путь для пространства имен -
string $actionроутер/действие в пространстве имен
Удалена: константа MODX_INCLUDES_PATH¶
Не известно использование этой константы, поэтому она была удалена.
Изменено: выбрасывание исключений¶
При инициализации контроллера вы можете теперь выдать новое исключение MODX\Revolution\Controllers\Exceptions\NotFoundException или MODX\Revolution\Controllers\Exceptions\AccessDeniedException. Они будут обработаны классом modManagerResponse, чтобы показать более приятную страницу с ошибкой.
Обязательно предоставьте полезное сообщение в исключении.
Это также поддерживает возврат ложного y возвращаемого значения из modManagerController::checkPermissions, но это не позволяет предоставлять настраиваемое сообщение, если вы сами не выбросите исключение.
\Exceptions и \Errors вызванный рендерингом контроллера, также будет пойман теперь.
Удалены: loadControllerClass и instantiateController в modManagerResponse¶
Поскольку логика загрузки контроллеров была изменена в modManagerResponse, методы loadControllerClass и instantiateController были удалены.
Некоторые подписи немного изменились:
-
checkForMenuPermissions(string $action): boolтеперь определяет тип параметраstringи тип возвращаемого значенияbool -
getControllerClassName(string $action): stringтеперь требует предоставления$actionи либо возвращает строку, либо выдаетNotFoundException.
Удаленные объекты¶
-
modAccessAction(таблицаaccess_actions) -
modAction(таблицаactions)
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$280 per month—let's make that $500!
Learn more










