Prestashop - 我看不到我的班级管理员

时间:2017-07-17 09:07:18

标签: php module controller prestashop

我学习了Prestashop,我尝试制作一个模块。

/module2我有:

- module2.php(来自/module2的主文件)
- /views/templates/hook/module2.tplproduct.php控制器的链接)

- /controllers/front/product.php(即控制者)
- /views/templates/front/product.tpl(来自product.php控制器的视图)

module2.php的所有内容都很好,module2.tpl出现了。但是,当我按下module2.tpl的链接时,它会将我发送给product.php控制器,该控制器运行良好。

错误:

我使用@ini_set('display_errors', 'on');查看可能的错误并发生错误:

Fatal error: Uncaught Error: Class 'module2productModuleFrontController' not found in /var/www/html/prestashop/classes/controller/Controller.php:142 Stack trace: #0 /var/www/html/prestashop/classes/Dispatcher.php(361): ControllerCore::getController('module2productM...') #1 /var/www/html/prestashop/index.php(28): DispatcherCore->dispatch() #2 {main} thrown in /var/www/html/prestashop/classes/controller/Controller.php on line 142

module2productModuleFrontController是我的控制器(product.php)中的类的名称。
名称格式似乎很好,因为我知道我必须使用:
name module + displayModuleFrontController(module2 + productModuleFrontController)。

我不认为我必须通过/classes目录查看错误,因为我不允许在那里进行修改。
我还从后台卸载了重新安装了我的module2,但错误仍在那里。

您认为我应该怎么做?

1 个答案:

答案 0 :(得分:1)

试试这个:

在您的模块__construct方法中:

public function __construct()
{
    /* your stuff */
    $this->controllers = array('product');
    /* your stuff */
}

你的班级必须'扩展ModuleFrontController类:

class module2ProductModuleFrontController extends ModuleFrontController
{
}

PS:如果您想显示错误,请转到config/defines.inc.php并将_PS_MODE_DEV_的值更改为true