Magento目录产品价格

时间:2013-11-12 15:56:59

标签: php magento

在代码中,我可以更改“特价”或仅更改每个产品magento show的价格?

我找到了如何在结帐时更改价格,

config.xml中:

<frontend>
    <events>
        <checkout_cart_product_add_after>
            <observers>
                <unique_event_name>
                    <class>discounts/observer</class>
                    <method>modifyPrice</method>
                </unique_event_name>
            </observers>
        </checkout_cart_product_add_after>
    </events>
</frontend>

和观察员:

    <?php

class <namespace>_<module>_Model_Observer
{
    public function modifyPrice(Varien_Event_Observer $obs)
    {
        // Get the quote item
        $item = $obs->getQuoteItem();

        // Ensure we have the parent item, if it has one
        $item = ( $item->getParentItem() ? $item->getParentItem() : $item );

        // Load the custom price
        $price = $this->_getPriceByItem($item);

        // Set the custom price
        $item->setCustomPrice($price);
        $item->setOriginalCustomPrice($price);

        // Enable super mode on the product.
        $item->getProduct()->setIsSuperMode(true);
    }

    protected function _getPriceByItem(Mage_Sales_Model_Quote_Item $item)
    {
        $price = null;

        $price = 10;

        return $price;
    }
}

此代码将所有价格设置为10美元,但仅限于“我的购物车”。

首先我要更改frontend -> events -> THIS EVENT,但找不到任何内容。

1 个答案:

答案 0 :(得分:0)

您可以使用catalog_product_load_after事件来完成此操作,该事件在每次加载模型后直接调用,而不仅仅是在购物车中。