0

在代码中我可以在哪里更改“特价”或只是更改每个产品 magento 显示的价格?

我发现如何在结帐时更改价格,

配置.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,但找不到任何东西。

4

1 回答 1

0

您可以通过使用 catalog_product_load_after 事件来做到这一点,该事件在每次加载模型后直接调用,而不仅仅是在购物车中。

于 2013-11-12T18:48:42.080 回答