如何调用该函数并在prestashop中显示tpl文件的结果

时间:2013-06-03 12:14:40

标签: prestashop

我需要在产品详细信息页面(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文件中调用

任何人的帮助?

1 个答案:

答案 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}