我试图在Prestashop 1.7.6中添加一个新功能(允许检测自后台以来客户组的更改)。
我认为我必须重写在“ src /PrestaShopBundle/Controller/Admin/Sell/Customer/CustomerController.php”中的CustomerController.php中找到的功能。
如何重载该控制器,我试图在“ override / controllers / admin”中创建一个文件,但它无法正常工作....?
谢谢。
我试图在Prestashop 1.7.6中添加一个新功能(允许检测自后台以来客户组的更改)。
我认为我必须重写在“ src /PrestaShopBundle/Controller/Admin/Sell/Customer/CustomerController.php”中的CustomerController.php中找到的功能。
如何重载该控制器,我试图在“ override / controllers / admin”中创建一个文件,但它无法正常工作....?
谢谢。
无法覆盖/src
文件夹中的代码:
Understanding the “src” folder
如果要检测客户端组的更改,可以使用挂钩actionCustomerBeforeUpdateGroup
,该挂钩在classes/Customer
处被调用:
public function updateGroup($list)
{
Hook::exec('actionCustomerBeforeUpdateGroup',array('id_customer' => $this->id,'groups' => $list));
if ($list && !empty($list)) {
$this->cleanGroups();
$this->addGroups($list);
} else {
$this->addGroups(array($this->id_default_group));
}
}
,
如果看不到覆盖中添加的更改,则必须根据您的环境删除var / cache / prod / class_index.php或var / cache / dev / class_index.php。不用担心,它将被重新创建。