0

製品の詳細ページ (product.tpl ページ) に製品のお気に入り数とその他の機能を表示する必要があります。

しかし、私は prestashop.so を初めて使用するので、関数を宣言した場所を見つけることができず、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 ファイルから呼び出す方法

誰か助けて?

4

1 に答える 1

0

最善の方法は、ProductController で行うことです。まず、それをオーバーライドする必要があります。このために、 を作成 (または既存のものを使用) し/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}

于 2013-06-03T14:52:26.460 に答える