这是我的配置代码。
<catalog_block_product_list_collection>
<observers>
<smashingmagazine_logproductupdate>
<class>smashingmagazine_logproductupdate/observer</class>
<method>listingchange</method>
<type>singleton</type>
</smashingmagazine_logproductupdate>
</observers>
</catalog_block_product_list_collection>
这是我的功能。
public function listingchange(Varien_Event_Observer $observer)
{
$collection = $observer->getEvent()->getCollection();
foreach ($collection as $product)
{
$product->setPrice( 1500 );
}
}
价格获取list.phtml文件的价格代码是。
<?php echo $this->getPriceHtml($_product, true) ?>
setPrice()不起作用。 getPrice()函数工作正常。
但是setPrice()不起作用。
请帮忙。感谢&#39; S
答案 0 :(得分:1)
您最好尝试使用catalog_product_collection_load_after
事件执行此操作:
public function listingchange(Varien_Event_Observer $observer)
{
$collection = $observer->getEvent()->getCollection();
if ($collection->count()>0){
$collection->walk(array($this, '_manageProduct'));
}
}
public function _manageProduct($product) {
$product->setFinalPrice( 1500 );
}
对我来说真的很好......