Module 覆盖并使用prestashop模块中的前控制器功能[1.6.x.x]

Module 覆盖并使用prestashop模块中的前控制器功能[1.6.x.x],module,controller,extends,prestashop-1.6,Module,Controller,Extends,Prestashop 1.6,我想编辑并添加功能到prestashop商店定位器页面。 Prestashop的文档不是很清楚,我想知道是否可以在自定义模块中实现控制器。 我想创建一个模块,它能够扩展StoreFrontController及其功能,而无需从头开始。 可能吗?你有一些文件给我吗 一个初学者, 最好。因为您有很多需求,所以必须重写类storescocontroller.php 您的模块文件夹应如下所示: /mymodule /mymodule.php /config.xml /overri

我想编辑并添加功能到prestashop商店定位器页面。 Prestashop的文档不是很清楚,我想知道是否可以在自定义模块中实现控制器。 我想创建一个模块,它能够扩展StoreFrontController及其功能,而无需从头开始。 可能吗?你有一些文件给我吗

一个初学者,
最好。

因为您有很多需求,所以必须重写类
storescocontroller.php

您的模块文件夹应如下所示:

/mymodule
    /mymodule.php
    /config.xml
    /override
         /controllers
              /front
                   StoresController.php
    /views
         /templates
              /front
                   stores.tpl
storescoontroller.php
中,您必须重写
initContent()


您可以从覆盖前端控制器开始,如

`"/modules/mymodule/override/controllers/front/StoresController.php" and in this fine add class "class StoresControllerCore extends FrontController {
public function initContent()
    {
        parent::initContent();
//here do whatever you like
}
}"

尽管您必须了解编码才能继续进行。

对不起,我的prestashop版本是1.6.1.5。您希望添加什么样的功能?如果您想添加更多信息,过程将与更改数据不同。我想添加两个功能:*第一个也是最重要的,获取所有门店信息,为每个门店创建专用页面。例如:您可以找到最近的商店,然后单击要重定向到cms页面的名称。*第二个功能,为商店指定一个或多个类别。示例:要搜索最近销售该类别产品的商店,请感谢您的时间和建议。这很容易理解。我还有一个问题,我不熟悉prestashop,所以我想了解。如果我在模块中覆盖此控制器,它是否正常工作?我的意思是,只有我的更改会修改控制器的行为,其余的将像我没有更改一样工作?!你说的正常是什么意思?您的覆盖扩展了Core StoresControllerCore。当Prestashop加载StoresController时,它将首先查找覆盖并找到您的覆盖。然后它会像任何控制器类一样处理它。“我的意思是,只有我的更改会修改控制器的行为,其余的将像我什么都没有更改一样工作?!”就是这样。您可以在重写中按照您想要的方式更改控制器,但是您没有更改的任何方法都将正常运行。在我的示例中,我只声明了一个新的模板文件。因此,它现在将加载模块文件夹中的stores.tpl,而不是加载主题文件夹中的默认“stores.tpl”。因此,您需要复制default stores.tpl并在模块中修改它。稍后,如果您想与其他商店共享此模块,他们将能够在
/theme/theme/modules/your_module/stores.tpl
中更改您的模板文件。默认的
/theme/theme/stores.tpl
将不再使用。如果您有任何其他问题,请随时将其发布在一个新的问题中,标记为Prestashop,我将很高兴再次帮助您。谢谢!Florian给了我一个解决方案,效果很好!