覆盖Prestashop 1.7中的控制器

覆盖Prestashop 1.7中的控制器

问题描述:

Hi I want to override a controller (in /controllers/front/MyAccountController.php) I tried different things :

  • In a custom module : /modules/my_module/override/controllers/front/MyAccountController.php

    class MyAccountController extends MyAccountControllerCore
    {
    
    
    /**
     * Assign template vars related to page content
     * @see FrontController::initContent()
     */
    public function initContent()
    {
        exit("test");
    
    }
    
  • In /override/controllers/front/MyAccountController.php

    // SAME CODE //
    

I also tried with this code :

    class MyAccountControllerCore extends FrontController
    {


    /**
     * Assign template vars related to page content
     * @see FrontController::initContent()
     */
    public function initContent()
    {
        exit("test");

    }

What is the correct wayto do it, please ?

您好我想覆盖一个控制器(在/controllers/front/MyAccountController.php中)我尝试了不同的东西:

  • 在自定义模块中:/modules/my_module/override/controllers/front/MyAccountController.php

    nn
     class MyAccountController扩展MyAccountControllerCore 
     {
     
     
     / ** 
     *分配与页面内容相关的模板变量
     * @see FrontController :: initContent()
     * / 
    共享函数initContent()
      {
     exit(“test”); 
     
    } 
      code>  pre>  li> 
     
  • 在/override/controllers/front/MyAccountController.php中 p>

      // SAME CODE // 
      code>  pre>  li> 
      ul> 
     
     

    我也试过这个 代码: p>

     类MyAccountControllerCore扩展FrontController 
     {
     
     
     / ** 
     *分配与页面内容相关的模板变量
     * @see FrontController ::  initContent()
     * / 
     n公共函数initContent()
     {
     exit(“test”); 
     
    } 
      code>  pre> 
     
     

    什么是 该 正确的方法,请吗? p> div>

All this methods should work,

Did you check the option Disable all overrides in Advanced Parameters > Performance

screenshot

It should be to No.

You can also delete the file app/cache/prod/class_index.php to force PrestaShop to scan the override folder.