我已經找到了辦法!
actionDispatcher掛鉤爲模型,鉤子,但與控制器不工作。
好像有一個沒有記錄的掛鉤叫做moduleRoutes其中加載之前任何控制器。
所以我已經能夠自動加載在我所有的模塊的類是這樣的:
<?php
if (!defined('_PS_VERSION_'))
exit;
//_PS_MODULE_DIR_
require_once __DIR__.'/vendor/autoload.php'; // Autoload here for the module definition
class MyCustomModule extends Devnix\Prestablocks\Module { // My custom Prestashop framework (in experimental phase, https://github.com/devnix/prestablocks)
// ...
public function install() {
return
parent::install() &&
$this->registerHook('moduleRoutes'); // Register the hook
}
public function hookModuleRoutes() {
require_once __DIR__.'/vendor/autoload.php'; // And the autoload here to make our Composer classes available everywhere!
}
等待隨後的Prestashop的新版本。 –
我不確定你正在使用哪個版本的PrestaShop,但是在調度器中有一個** actionDispatcher **鉤子,也許你可以用它來做你的自定義加載,然後執行控制器。 https://github.com/PrestaShop/PrestaShop/blob/develop/classes/Dispatcher.php#L353 –
Wooow,這是一個很好的...我應該開始調查它 –