Magento隐藏运输方法或通过观察者更改其价格

时间:2015-07-10 06:24:05

标签: php magento magento-1.8

我创建了一个带有Observer的Magento模块,该模块应隐藏某种送货方式,但我无法让它工作。

class Company_Modulename_Model_Observer
{
    public function hideShippingMethods(Varien_Event_Observer $observer)
    {
        if (Mage::getDesign()->getArea() === Mage_Core_Model_App_Area::AREA_FRONTEND) {
            $quote = $observer->getEvent()->getQuote();
            $store = Mage::app()->getStore($quote->getStoreId());
            $carriers = Mage::getStoreConfig('carriers', $store);
            $newPrice = 10;

            foreach ($carriers as $carrierCode => $carrierConfig) {
                if ($carrierCode == 'flatrate') {
                    $store->setConfig('carriers/flatrate/price', $newPrice);
                    $store->setConfig('carriers/flatrate/showmethod', '0');
                    $store->setConfig('carriers/flatrate/active', '0');
                    $store->setConfig('carriers/flatrate/title', 'Test title');
                }
            }
        }
    }
}

在所有setConfig设置中,只有$ store-> setConfig('carriers / flatrate / title','Test title');的工作原理。

因此,结账时交付方法的标题会发生变化,但价格不会改变,但仍会显示。

如何隐藏或更改某种shippig方法的价格?

0 个答案:

没有答案