Smarty 如何在prestashop前端自定义模块中调用ajax
我有一个模块,它创建了一个前端页面,其中显示了特定抽奖的获胜者,我想在我更改年份时按年份(获胜年份)添加一个过滤器,它必须按ajax请求进行,并更改我的div 在前端的my display.tpl中,我添加了以下javascriptSmarty 如何在prestashop前端自定义模块中调用ajax,smarty,prestashop,prestashop-1.6,prestashop-1.5,Smarty,Prestashop,Prestashop 1.6,Prestashop 1.5,我有一个模块,它创建了一个前端页面,其中显示了特定抽奖的获胜者,我想在我更改年份时按年份(获胜年份)添加一个过滤器,它必须按ajax请求进行,并更改我的div 在前端的my display.tpl中,我添加了以下javascript <script type="text/javascript"> {literal} function QuickLook() { var year = $("#year").val(); alert(year); $.ajax({
<script type="text/javascript">
{literal}
function QuickLook() {
var year = $("#year").val();
alert(year);
$.ajax({
url: baseDir+'/modules/addwinners/controllers/front/displaybyajax.php',
type: 'get',
data: 'ajax=true&year='+year,
success: function(response) {
alert(response);
console.log('success');
// OTHER SUCCESS COMMAND - CHECK THE RETURN VALUE
document.getElementById("winnersDiv").innerHTML=response;
}
});
return false;
}
{/literal}
{literal}
函数QuickLook(){
var year=$(“#year”).val();
警报(年);
$.ajax({
url:baseDir+'/modules/addwinners/controllers/front/displaybayajax.php',
键入:“get”,
数据:“ajax=true&年份=”+年份,
成功:功能(响应){
警报(响应);
console.log('success');
//其他成功命令-检查返回值
document.getElementById(“winnersDiv”).innerHTML=响应;
}
});
返回false;
}
{/literal}
但它的致命错误是:找不到类“ModuleFrontController”您无法使用其完整路径直接访问模块控制器:
/modules/addwinners/controllers/front/displaybyajax.php
通过这种方式访问控制器,不会调用调度程序,也不会加载Prestashop核心类
您需要通过Prestashop方式调用控制器:
{literal}
函数QuickLook(){
var year=$(“#year”).val();
警报(年);
$.ajax({
url:baseDir+'index.php?controller=displaybayajax&redirect=module&module=addwinners',
键入:“get”,
数据:“ajax=true&年份=”+年份,
成功:功能(响应){
警报(响应);
console.log('success');
//其他成功命令-检查返回值
document.getElementById(“winnersDiv”).innerHTML=响应;
}
});
返回false;
}
{/literal}
我已通过调用自定义模块在product.js文件中检查了这一点,但未显示fount错误。没有任何解决办法