因此,我无法让这个prestashop模块快速浏览,而我试图为每种产品添加点击。
我在/ modules / quicklook下的基本目录中有该模块。
文件如下
/modules/quicklook.php
class QuickLook extends Module {
private $_html= '';
function __construct() {
$this->name = 'quicklook';
$this->tab = 'other';
$this->version = '0.2.0';
$this->author = 'Carl';
parent::__construct();
$this->displayName = $this->l('Quick Look');
$this->description = $this->l('AJAX Quick Look');
}
public function install() {
parent::install();
if(!$this->registerHook('header')) return false;
return true;
}
public function getContent()
{
$this->_displayForm();
return $this->_html;
}
public function ajaxCall() {
$this->smartyOutputContent($this->getTemplatePath() . 'quicklook.tpl');
}
}
/modules/quicklook.tpl
包括product.tpl中的所有内容。
/modules/quicklook-ajax.tpl包括:
include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../init.php');
include(dirname(__FILE__).'/quicklook.php');
$quicklook = new QuickLook();
echo $quicklook->ajaxCall();
然后调用模块,将其添加到product-list.tpl中:
<script type="text/javascript">
function QuickLook() {
$.ajax({
url: '{$base_dir}modules/quicklook/quicklook-ajax.php',
type: 'get',
data: 'ajax=true',
success: function(data) {
console.log('success');
$('#ajax').text(data);
}
});
return false;
}
</script>
然后到我添加的每个产品的链接
onclick="QuickLook();"
我越来越
Failed to load resource: the server responded with a status of 404 (Not Found)
对于undefined。。并且产品未加载。
所以基本上我想让每个产品的href链接执行javascript,该javascript调用ajax桥文件,然后调用quicklook.php,然后调用quicklook.tpl显示产品,希望我的思路是正确的(这是我第一次尝试模块!)。
非常感谢您在正确的方向上提供了一些指导。在这一点上,我不确定出了什么问题。 :(
最佳答案
1)首先检查是否存在quicklook-ajax.php文件。
2)检查通过URL进行访问的可能性:{$ base_dir} modules / quicklook / quicklook-ajax.php,否则您还会收到404错误。
3)最好的方法是为此目的创建自己的 Controller (方法是:http://blog.belvg.com/how-to-implement-a-controller.html),并使用Link::getModuleLink()获取url。
问候
关于module - Prestashop AJAX调用模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18501001/