我有一个模块,它创建一个显示特定抽奖获胜者的前端页面,我希望按年份(获胜年份)添加过滤器,当我更改年份必须通过ajax请求并更改我的div
在我的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}
但它抱怨致命错误:Class&#39; ModuleFrontController&#39;找不到
答案 0 :(得分:1)
您不能使用完整路径直接访问模块控制器:/modules/addwinners/controllers/front/displaybyajax.php
通过这种方式访问控制器,不调用调度程序并且不加载Prestashop Core类。
您需要以Prestashop方式呼叫您的控制器:
<script type="text/javascript">
{literal}
function QuickLook() {
var year = $("#year").val();
alert(year);
$.ajax({
url: baseDir + 'index.php?controller=displaybyajax&redirect=module&module=addwinners',
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}
</script>