"popularity"라는 속성을 만들었습니다.이 속성은 가장 많이 본 제품으로 카탈로그를 구성하는 데 사용됩니다. 아이디어는 제품보기 템플릿 (내 테마에 대한 view.phtml)에서 가치를 얻고 그 값을 증가시키고 업데이트하지만,이 업데이트를 만드는 방법을 모르겠다. 즉, 데이터베이스에 새 값을 저장하는 방법 . I 제품보기 페이지에서이 작업을 넣어했습니다 살펴 :Magento에서 속성 값을 업데이트하는 방법은 무엇입니까?
$popularity = $_product->getData('popularity');
$popularity++;
요점은 $ 인기가 데이터베이스에 새 값으로 저장되지 않는 것입니다. 그 값을 어떻게 저장할 수 있습니까?
나는 제품 페이지 템플릿 (mytheme/템플릿/카탈로그/제품/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);
}
감사합니다! 당신의 속성의 범위는 GLOBAL
경우,
$popularity = $_product->getData('popularity');
$popularity++;
Mage::getSingleton('catalog/product_action')
->updateAttributes(array($_product->getId()), array('popularity', $popularity), 0);
이 작동합니다
이 나는 제품 페이지 템플릿에이 코드를 넣어 http://stackoverflow.com/questions/15999439/updating-magento-attribute-programatically –