Prestashop 1.6 覆盖管理控制器不覆盖
Prestashop 1.6 Override admin Controller not overriding
我正在尝试覆盖 AdminCarriersControllerCore,特别是 postProcess 方法(以便它更新运营商而不是删除和创建新运营商,因为它会破坏引用)。
首先要检查它是否被覆盖:
<?php
class AdminCarriersController extends AdminCarriersControllerCore
{
public function __construct(){
die(var_dump('constructor'));
}
}
我已经把它放到了下面的路径中
modules/<my_module_name>/override/controllers/admin/AdminCarriersController.php
它不会覆盖。
也试过:
modules/<my_module_name>/controllers/admin/AdminCarriersController.php
还删除了缓存文件(没有像文档所说的那样自动重新生成)
rm class_index.php
感谢您的帮助。 Official Prestashop docs page for overriding
注意:是的,我知道有一个 reference_id 或其他什么,我不应该直接使用 carrier_id,但该模块已经太神秘了,正在尝试更改carrier_id 到正确的太冒险太费时了。
在您的 module_name/override
中放置覆盖文件还没有做任何事情。安装模块时,PrestaShop 将检查您的模块中是否有覆盖文件,并检查您覆盖的 class 是否具有已被另一个模块覆盖的方法。如果是,那么您将无法安装该模块。
如果您已经安装了模块并且由于某种原因无法重新安装它,那么您需要将覆盖文件直接放入根 override
文件夹并删除
文件 cache/class_index.php
。
我不确定模块升级时是否安装了覆盖文件。我稍后会检查并更新答案。
我正在尝试覆盖 AdminCarriersControllerCore,特别是 postProcess 方法(以便它更新运营商而不是删除和创建新运营商,因为它会破坏引用)。
首先要检查它是否被覆盖:
<?php
class AdminCarriersController extends AdminCarriersControllerCore
{
public function __construct(){
die(var_dump('constructor'));
}
}
我已经把它放到了下面的路径中
modules/<my_module_name>/override/controllers/admin/AdminCarriersController.php
它不会覆盖。
也试过:
modules/<my_module_name>/controllers/admin/AdminCarriersController.php
还删除了缓存文件(没有像文档所说的那样自动重新生成)
rm class_index.php
感谢您的帮助。 Official Prestashop docs page for overriding
注意:是的,我知道有一个 reference_id 或其他什么,我不应该直接使用 carrier_id,但该模块已经太神秘了,正在尝试更改carrier_id 到正确的太冒险太费时了。
在您的 module_name/override
中放置覆盖文件还没有做任何事情。安装模块时,PrestaShop 将检查您的模块中是否有覆盖文件,并检查您覆盖的 class 是否具有已被另一个模块覆盖的方法。如果是,那么您将无法安装该模块。
如果您已经安装了模块并且由于某种原因无法重新安装它,那么您需要将覆盖文件直接放入根 override
文件夹并删除
文件 cache/class_index.php
。
我不确定模块升级时是否安装了覆盖文件。我稍后会检查并更新答案。