自定义模块,用于过滤prestshop中的产品


custom module for filtering products in prestashop

嗨,我是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');