Smarty 如何在prestashop前端自定义模块中调用ajax

Smarty 如何在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({

我有一个模块,它创建了一个前端页面,其中显示了特定抽奖的获胜者,我想在我更改年份时按年份(获胜年份)添加一个过滤器,它必须按ajax请求进行,并更改我的div

在前端的my display.tpl中,我添加了以下javascript

<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错误。没有任何解决办法