在prestashop中覆盖“ src”控制器后台

时间:2019-10-14 12:35:58

标签: symfony overriding prestashop prestashop-1.7

首先,我尝试了与此主题相关的所有问题和答案。另外,我尝试了相关问题并尝试解决,但没有成功。因此,请仔细阅读我的问题。

我在下面引用链接此主题,但未获得解决方案

override-core-files-using-module-prestashop

override-controller-in-prestashop-1-6

prestashop-translating-overrided-controller

prestashop-1-6-controller-override

我想使用我的自定义模块覆盖此prestashopbundle控制器。

我的自定义模块结构

Dexec.args

我要对此控制器进行覆盖

 - mymodule
      - controllers
         - admin
           - prestashop
      - override
      - views

我的模块路径

prestashop/src/prestashopbundle/controller/Admin/sell/Customer/CustomerController.php

谢谢

1 个答案:

答案 0 :(得分:0)

在Prestashop进行了长时间的研究之后,我得到了最好的解决方案

Prestashop(1.7。*)说:

  

由于控制器不可用于替代,因此可以视为   内部类,我们不考虑将Controller移到另一个   命名空间是向后兼容的突破。

Controller and Routing

创建自定义挂钩后,请注册我的自定义模块。内置自定义钩子实现功能并完成:)

 public function hookActionViewCustomers($params)
    {
        $creddit = Configuration::get('Credit_Checkbox_1');
        $customerid =$params['request']->attributes->get('customerId');
        $Status_HTMl =$this->Get_Status_HTML($customerid);
        if(!$creddit)
        {
            // Checkbox Checked
            $ButtonDisable =" <button type=\"submit\" disabled='disabled' title='Not Allow'> Check Status </button>";
        }
        else{
            // Checkbox unChecked
            $ButtonDisable =" <button type=\"submit\" title='Click Get Status'> Check Status </button>";
        }
        return $Status_HTMl.$ButtonDisable;

    }