From 8e0fa2e6023a79256ba0696b846ab408f6dac12e Mon Sep 17 00:00:00 2001 From: Oli Date: Thu, 23 May 2024 17:26:40 +0200 Subject: [PATCH] Update Plugin.php Discussed with @nfourtythree. This is for 4.x and 5.x. --- src/Plugin.php | 70 ++++++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/src/Plugin.php b/src/Plugin.php index 1fd2638ba9..883c7fe6c1 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -234,40 +234,42 @@ public static function editions(): array public function init(): void { parent::init(); - $request = Craft::$app->getRequest(); - - $this->_addTwigExtensions(); - $this->_registerFieldTypes(); - $this->_registerPermissions(); - $this->_registerCraftEventListeners(); - $this->_registerProjectConfigEventListeners(); - $this->_registerVariables(); - $this->_registerForeignKeysRestore(); - $this->_registerPoweredByHeader(); - $this->_registerElementTypes(); - $this->_registerGqlInterfaces(); - $this->_registerGqlQueries(); - $this->_registerGqlComponents(); - $this->_registerGqlEagerLoadableFields(); - $this->_registerCacheTypes(); - $this->_registerGarbageCollection(); - $this->_registerDebugPanels(); - - if ($request->getIsConsoleRequest()) { - $this->_defineResaveCommand(); - } elseif ($request->getIsCpRequest()) { - $this->_registerCpRoutes(); - $this->_registerStoreAddressAuthHandlers(); - $this->_registerWidgets(); - $this->_registerElementExports(); - $this->_defineFieldLayoutElements(); - $this->_registerTemplateHooks(); - $this->_registerRedactorLinkOptions(); - $this->_registerCKEditorLinkOptions(); - } else { - $this->_registerSiteRoutes(); - } - + + Craft::$app->onInit(function() { + $request = Craft::$app->getRequest(); + + $this->_addTwigExtensions(); + $this->_registerFieldTypes(); + $this->_registerPermissions(); + $this->_registerCraftEventListeners(); + $this->_registerProjectConfigEventListeners(); + $this->_registerVariables(); + $this->_registerForeignKeysRestore(); + $this->_registerPoweredByHeader(); + $this->_registerElementTypes(); + $this->_registerGqlInterfaces(); + $this->_registerGqlQueries(); + $this->_registerGqlComponents(); + $this->_registerGqlEagerLoadableFields(); + $this->_registerCacheTypes(); + $this->_registerGarbageCollection(); + $this->_registerDebugPanels(); + + if ($request->getIsConsoleRequest()) { + $this->_defineResaveCommand(); + } elseif ($request->getIsCpRequest()) { + $this->_registerCpRoutes(); + $this->_registerStoreAddressAuthHandlers(); + $this->_registerWidgets(); + $this->_registerElementExports(); + $this->_defineFieldLayoutElements(); + $this->_registerTemplateHooks(); + $this->_registerRedactorLinkOptions(); + $this->_registerCKEditorLinkOptions(); + } else { + $this->_registerSiteRoutes(); + } + }); Craft::setAlias('@commerceLib', Craft::getAlias('@craft/commerce/../lib')); }