【发布时间】:2017-12-24 11:16:21
【问题描述】:
对不起我的英语。
我是<i>prestashop</i> 的初学者,我仍在努力了解更多信息。
我在 /modules 目录中创建了一个模块 (/module3)。这有下一个文件:
-module3.php(本模块的主php文件)
-/views/templates/hook/module3.tpl(module3.php 的模板)
-/controllers/front/products.php(本模块的控制器)
-/views/templates/front/products.tpl(我的控制器的模板)
- 还有/controllers/front/take_product.php(将由products.tpl 由ajax 调用)。
我的/views/templates/front/products.tpl 有下一个 ajax:
` 功能打印产品 (id_product) {
var form_data = new FormData();
form_data.append('id_product', id_product);
采取(功能(rezultat){
$("#product_div").html(rezultat);
});
函数采取(rezultat){
$.ajax({
网址:“http://127.0.0.1/prestashop/modules/module3/controllers/front/take_product.php”,
数据类型:'文本',
缓存:假,
内容类型:假,
处理数据:假,
数据:form_data,
类型:'发布',
}).done(函数(输出){
rezultat(输出);
});
}
}`
我的/controllers/front/take_product.php 有下一个代码:
`
@ini_set('display_errors', 'on');
$sql = 'SELECT * FROM ps_product WHERE id_product="'.(int)$_POST["id_product"].'"';
$result = Db::getInstance()->execute($sql);
回显$结果;
`
这就是/views/templates/front/products.tpl 接收和打印的内容:
`
致命错误:未捕获错误:在
/var/www/html/prestashop/modules/module3/controllers/front/take_product.php:6
中找不到类“Db”:堆栈跟踪:#0 { main} 抛出
/var/www/html/prestashop/modules/module3/controllers/front/take_product.php
第 6 行 `
也许你认为我需要/controllers/front/take_product.php 中的类控制器。
这就是为什么我也用下一个代码更改了我的/controllers/front/take_product.php:
`
@ini_set('display_errors', 'on');
类 Module3take_productsModuleFrontController 扩展
模块前端控制器
{
公共函数 initContent()
{
父::initContent();
$sql = 'SELECT * FROM ps_product WHERE id_product="'.(int)$_POST["id_product"].'"';
$result = Db::getInstance()->execute($sql);
回显$结果;
}
}
`
但现在/views/templates/front/products.tpl 接收并打印另一个错误:
`
致命错误:在
/var/www/html/prestashop/modules/module3/controllers/front/take_product.php
第 6 行中找不到类“ModuleFrontController” `
那么...你有什么想法吗?
【问题讨论】:
标签: php ajax module controller prestashop