在哪里可以找到prestashop控制器,如何扩展它们?

汤纳诺

我是prestashop的新手,因此,如果我要提出一个非常简单的问题,请忍受。我正在创建模块,在我的任务中,我必须扩展由javascript中的ajaxcart.add()函数调用的购物车控制器。我想知道,响应此ajax请求的控制器位于何处,以及如何在模块中扩展此控制器。是否有与此相关的良好文档?谢谢

汤纳诺

我找到了一种在模块内扩展prestashop默认控制器的方法。我在的旁边看了一下,classes/Dispatcher.php并在dispatch()方法中找到了这个

case self::FC_MODULE :
            $module_name = Validate::isModuleName(Tools::getValue('module')) ? Tools::getValue('module') : '';
            $module = Module::getInstanceByName($module_name);
            $controller_class = 'PageNotFoundController';
            if (Validate::isLoadedObject($module) && $module->active) {
                $controllers = Dispatcher::getControllers(_PS_MODULE_DIR_.$module_name.'/controllers/front/');
                if (isset($controllers[strtolower($this->controller)])) {
                    include_once(_PS_MODULE_DIR_.$module_name.'/controllers/front/'.$this->controller.'.php');
                    $controller_class = $module_name.$this->controller.'ModuleFrontController';
                }
            }
            $params_hook_action_dispatcher = array('controller_type' => self::FC_FRONT, 'controller_class' => $controller_class, 'is_module' => 1);

因此,控制器的命名约定为

<modulename><controllername>ModuleFrontController


控制器的路径应该是

module/<module name>/cotrollers/front/<controllername>.php


areacalc模块中的示例mycart控制器

class areacalcmycartModuleFrontController extends CartController {

areacalc模块中mycart控制器的文件路径

/modules/areacalc/controllers/front/mycart.php

网址将是

http://localhost:8080/index.php?fc=module&module=areacalc&controller=mycart

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在哪里可以找到Symfony的默认控制器

来自分类Dev

在哪里可以找到Symfony的默认控制器

来自分类Dev

在哪里可以找到Realtek 8111E LAN控制器的驱动程序?

来自分类Dev

Laravel-在哪里存储通用模型函数以及如何从控制器访问它们?

来自分类Dev

键盘控制器在哪里?

来自分类Dev

控制器组件在哪里?

来自分类Dev

什么是PowerShell内置驱动器,在哪里可以找到它们的列表?

来自分类Dev

这样我可以在哪里将$ scope放入控制器?

来自分类Dev

PHP Slim 3 Framework - 我可以把我的控制器文件放在哪里?

来自分类Dev

Rails:全局存储在哪里由控制器控制?

来自分类Dev

Laravel 5-在哪里定义函数并在视图和控制器中调用它们

来自分类Dev

Laravel 5-在哪里定义函数并在视图和控制器中调用它们

来自分类Dev

在哪里可以找到收费成本扩展HERE API文档?

来自分类Dev

在哪里可以找到IObservable <T> .ToTask扩展方法?

来自分类Dev

在哪里将sortBy('name')放在控制器中?

来自分类Dev

在哪里将sortBy('name')放在控制器中?

来自分类Dev

在哪里加载控制器依赖项类?

来自分类Dev

MVC在哪里保留对控制器的引用?

来自分类Dev

在哪里构建复杂的对象,业务层或控制器?

来自分类Dev

在哪里加载控制器依赖项类?

来自分类Dev

使用$ routeProvider在哪里放置控制器?

来自分类Dev

在哪里设置ios标签栏控制器图标

来自分类Dev

在哪里将sortBy('name')放在控制器中?

来自分类Dev

在“模型”或“控制器”中在哪里编写此方法?

来自分类Dev

Rails控制器:@ foo.update在哪里定义?

来自分类Dev

Linux驱动程序如何工作?在哪里可以找到它们?(特别是NIC驱动程序)

来自分类Dev

XML解析器如何知道在哪里可以找到架构文件?

来自分类Dev

如何让我的 openAM SDK 应用程序知道在哪里可以找到 OpenAM 服务器?

来自分类Dev

情节提要控制器初始化,我可以在哪里放置预初始化代码?

Related 相关文章

  1. 1

    在哪里可以找到Symfony的默认控制器

  2. 2

    在哪里可以找到Symfony的默认控制器

  3. 3

    在哪里可以找到Realtek 8111E LAN控制器的驱动程序?

  4. 4

    Laravel-在哪里存储通用模型函数以及如何从控制器访问它们?

  5. 5

    键盘控制器在哪里?

  6. 6

    控制器组件在哪里?

  7. 7

    什么是PowerShell内置驱动器,在哪里可以找到它们的列表?

  8. 8

    这样我可以在哪里将$ scope放入控制器?

  9. 9

    PHP Slim 3 Framework - 我可以把我的控制器文件放在哪里?

  10. 10

    Rails:全局存储在哪里由控制器控制?

  11. 11

    Laravel 5-在哪里定义函数并在视图和控制器中调用它们

  12. 12

    Laravel 5-在哪里定义函数并在视图和控制器中调用它们

  13. 13

    在哪里可以找到收费成本扩展HERE API文档?

  14. 14

    在哪里可以找到IObservable <T> .ToTask扩展方法?

  15. 15

    在哪里将sortBy('name')放在控制器中?

  16. 16

    在哪里将sortBy('name')放在控制器中?

  17. 17

    在哪里加载控制器依赖项类?

  18. 18

    MVC在哪里保留对控制器的引用?

  19. 19

    在哪里构建复杂的对象,业务层或控制器?

  20. 20

    在哪里加载控制器依赖项类?

  21. 21

    使用$ routeProvider在哪里放置控制器?

  22. 22

    在哪里设置ios标签栏控制器图标

  23. 23

    在哪里将sortBy('name')放在控制器中?

  24. 24

    在“模型”或“控制器”中在哪里编写此方法?

  25. 25

    Rails控制器:@ foo.update在哪里定义?

  26. 26

    Linux驱动程序如何工作?在哪里可以找到它们?(特别是NIC驱动程序)

  27. 27

    XML解析器如何知道在哪里可以找到架构文件?

  28. 28

    如何让我的 openAM SDK 应用程序知道在哪里可以找到 OpenAM 服务器?

  29. 29

    情节提要控制器初始化,我可以在哪里放置预初始化代码?

热门标签

归档