如何在PrestaShop 1.7中扩展类和控制器?

如何在PrestaShop 1.7中扩展类和控制器?,prestashop,Prestashop,我想通过一个模块扩展一些核心类和控制器,但我不知道如何扩展。我可以通过覆盖来实现,但根据开发人员的说法,这不是一个好方法: 不过,遗留体系结构仍然可以被覆盖。但是在 一般来说,我们建议不要覆盖代码最好扩展它。 但我如何扩展它呢?有代码示例吗 致以最诚挚的问候在prestashop文档中,您可以看到 将您的类放入/modules/my_module/override/classes 或controller/modules/my_module/override/controllers/{front或

我想通过一个模块扩展一些核心类和控制器,但我不知道如何扩展。我可以通过覆盖来实现,但根据开发人员的说法,这不是一个好方法:

不过,遗留体系结构仍然可以被覆盖。但是在 一般来说,我们建议不要覆盖代码最好扩展它。

但我如何扩展它呢?有代码示例吗


致以最诚挚的问候

在prestashop文档中,您可以看到

将您的类放入/modules/my_module/override/classes 或controller/modules/my_module/override/controllers/{front或admin}

我在我的模块上使用它

我的模块的一个示例,重写frontcontroller函数:

    <?php

class FrontController extends FrontControllerCore
{
    protected function smartyOutputContent($content)
    {
        if (version_compare(_PS_VERSION_, '1.7', '<')) {
            //do something
        } else {
            parent::smartyOutputContent($content);
        }
    }
}

在prestashop文档中,您可以看到

将您的类放入/modules/my_module/override/classes 或controller/modules/my_module/override/controllers/{front或admin}

我在我的模块上使用它

我的模块的一个示例,重写frontcontroller函数:

    <?php

class FrontController extends FrontControllerCore
{
    protected function smartyOutputContent($content)
    {
        if (version_compare(_PS_VERSION_, '1.7', '<')) {
            //do something
        } else {
            parent::smartyOutputContent($content);
        }
    }
}

我想将模块提交到PrestaShop Marketplace。所以我不允许使用任何覆盖:(这不是旧的覆盖方式吗?/xx/override模块中的所有文件都将安装到override目录,或仅适用于旧文件。如果我需要从symfony结构“覆盖”ps文件,我需要“扩展”但我真的不知道怎么做。我想将模块提交到PrestaShop Marketplace。因此我不允许使用任何覆盖。:(这不是旧的覆盖方式吗?模块/xx/override中的所有文件都将安装到override目录,或者只对旧文件有效。如果我需要“override”一个来自symfony结构的ps文件,我需要“扩展”,但我真的不知道如何扩展。