在17.6.1中覆盖Prestashop的CustomerController

我试图在Prestashop 1.7.6中添加一个新功能(允许检测自后台以来客户组的更改)。

我认为我必须重写在“ src /PrestaShopBundle/Controller/Admin/Sell/Customer/CustomerController.php”中的CustomerController.php中找到的功能。

如何重载该控制器,我试图在“ override / controllers / admin”中创建一个文件,但它无法正常工作....?

谢谢。

l2912503 回答:在17.6.1中覆盖Prestashop的CustomerController

无法覆盖/src文件夹中的代码:

Understanding the “src” folder

Overrides

如果要检测客户端组的更改,可以使用挂钩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。不用担心,它将被重新创建。

本文链接:https://www.f2er.com/3030820.html

大家都在问