我需要在产品详细信息页面(product.tpl页面)中显示产品收藏计数和其他一些功能。
但我是prestashop的新手。所以我无法找到我声明函数的位置,我不知道如何调用函数表单tpl文件。
这里我写了产品最喜欢的计数代码
public function favcount($id_product)
{
$sql = 'SELECT count(*) FROM `ps_favorite_product` WHERE `id_product`='.(int)$id_product.;
$result = Db::getInstance()->getRow($sql);
return $result['count'];
}
在哪个地方我可以插入上面的代码以及如何从product.tpl文件中调用
任何人的帮助?
答案 0 :(得分:0)
最好的方法是在ProductController中完成。首先,你需要覆盖它。为此创建(或使用existant)/override/controllers/front/ProductController.php
。您可以使用initContent()
方法中的函数:
/**
* @see ProductController::initContent()
*/
public function initContent() {
parent::initContent();
// you can place your favcount method inside the class and use it
$favCount = $this->favcount($this->product->id);
// then assign the variable to the template
$this->context->smarty->assign('favcount', $favCount);
}
然后在您的模板中,您可以使用以下代码调用变量:{$favcount}
。