1

最も閲覧された製品でカタログを整理するために使用される「人気」という属性を作成しました。アイデアは、製品ビューテンプレート(私のテーマのview.phtml)で値を取得し、その値をインクリメントして更新することですが、この更新を行う方法、つまり、インクリメントされた新しい値をデータベースに保存する方法がわかりません. 私はこれを製品ビューページに入れました。見てください:

$popularity = $_product->getData('popularity');
$popularity++;

ポイントは、 $popularity が新しい値でデータベースに保存されていないことです。その値を保存するにはどうすればよいですか?

以下のコードを製品ページ テンプレート (mytheme/template/catalog/product/view.phtml) に配置しましたが、機能しません。

$from_date = '2010-01-01';
$to_date = now();
$product_ids = $_product->getId();
$viewed = Mage::getResourceModel('reports/product_collection')->addViewsCount($from_date, $to_date)->addFieldToFilter('entity_id', $product_ids);
foreach($viewed as $view) {
    $count_views = $view->getData('views');
    $product_model->setData('popularity', $count_views)->getResource()->saveAttribute($product_model, $count_views); 
}

手伝ってくれてありがとう!

4

1 に答える 1