如何更新Magento中的属性值?

如何更新Magento中的属性值?,magento,magento-1.7,Magento,Magento 1.7,我创建了一个名为“流行度”的属性,该属性将用于组织大多数查看产品的目录。想法是在产品视图模板(我的主题是view.phtml)上获取它的值,并增加该值并更新它,但是我不知道如何进行此更新,我的意思是,如何将增加的新值保存到数据库中。我已将其放在产品视图页面上,请看: $popularity = $_product->getData('popularity'); $popularity++; 关键是$popularity并没有和新值一起保存到数据库中。如何保存该值 我将下面的代码放在产品页

我创建了一个名为“流行度”的属性,该属性将用于组织大多数查看产品的目录。想法是在产品视图模板(我的主题是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); 
}
谢谢你的帮助

试试这个:

$popularity = $_product->getData('popularity');
$popularity++;
Mage::getSingleton('catalog/product_action')
    ->updateAttributes(array($_product->getId()), array('popularity', $popularity), 0);
如果属性的范围是
GLOBAL
,这将起作用。如果是其他内容,则可以使用以下内容:

Mage::getSingleton('catalog/product_action')
        ->updateAttributes(
             array($_product->getId()), 
             array('popularity', $popularity), 
             Mage::app()->getStore()->getId()
);

阅读这篇文章,我把这段代码放在产品页面模板上(mytheme/template/catalog/product/view.phtml):
$from_date='2010-01-01'$截止日期=现在()$产品标识=$\u产品->获取标识()$viewed=Mage::getResourceModel('reports/product_collection')->AddViewScont($from_date,$to_date)->addFieldToFilter('entity_id',$product_id);foreach($view){$count_views=$view->getData('views');$product_model->setData('popularity',$count_views)->>getResource()->saveAttribute($product_model,$count_views);}
但不起作用:(@joaosvu请编辑您的原始问题以添加代码,因为注释不可读。谢谢。