嗨,我是prestshop的新手,我正在构建一个基于产品评级的过滤模块。我已经建立了一个模块,并有一些如何能够使一个ajax请求获得基于评级的产品。但我真正的问题是如何列出我在前端收到的产品?我知道清单是在smarty
的帮助下完成的。获取产品的模块文件函数
public function ajaxProcessMyAjaxMethod($ratings)
{
$sql = "SELECT * FROM "._DB_PREFIX_."product WHERE ";
$sql .= " ratingone=$ratings[0] OR";
$sql .= " ratingtwo=$ratings[1] OR";
$sql .= " ratingthree=$ratings[2]";
$row = Db::getInstance()->ExecuteS($sql);
return $row;
}
上面的文件用于根据评级获取产品。我甚至不确定它是否正确,无论如何它起到了作用。
我得到一组产品,但我不确定下一步是什么。我已经在网上看了几个教程,但它们不符合我的要求。
"现在我想用prestshop的分层模块来显示产品,但是基于评级而不是尺寸等。"
注意:对于相同的产品,我有三种不同类型的评级。
如果有人能指导我链接到任何教程或提供一些例子,这将是有帮助的。
Thanks in advance
首先,让我告诉您,您应该将获取产品的函数替换为以适当限制返回产品的函数,因为它将帮助您在产品列表页面上添加分页。
为了列出产品,您应该将产品数组赋值给smarty,然后获取产品列表。使用以下代码将TPL文件放到主题目录中:
$this->context->smarty->fetch(_PS_THEME_DIR_.'product-list.tpl');