Скрыть название и название способа доставки из внешнего интерфейса


В начале на странице оформления заказа в разделе отгрузки методы и название доставки отображаются в скобках вместе с доставкой и обработкой.

Теперь это выглядит так Доставка и обработка (название - название метода): 5$

Я хочу выглядеть так Доставка и обработка грузов: 5$

Пожалуйста, помогите..

Author: Sandesh, 2013-06-25

3 answers

Вы можете переопределить метод: Mage_Sales_Model_Quote_Address_Total_Shipping::fetch(). Внутри него есть этот фрагмент кода:

$title = Mage::helper('sales')->__('Shipping & Handling');
if ($address->getShippingDescription()) {
    $title .= ' (' . $address->getShippingDescription() . ')';
}

Вы можете прокомментировать оператор if и не показывать описание доставки.

 11
Author: Marius, 2013-06-25 07:29:09

Вы можете просто сделать это, перейдя в раздел Система->Конфигурация->Способ доставки и удалив текст описания.

В нем не будет отображаться текст описания. Для этого вам не нужно редактировать какой-либо код.

 0
Author: Kuldeep, 2013-06-25 10:11:56

Вы можете скрыть способ доставки от внешнего интерфейса с помощью observer, напишите этот код в config.xml

<frontend>
<events>
    <sales_quote_collect_totals_before>
        <observers>
            <frontend_shipping_rates_sales_quote_collect_totals_before>
                <class>yourmodule/observer</class>
                <method>hideShippingMethods</method>                    
            </frontend_shipping_rates_sales_quote_collect_totals_before>
        </observers>                
    </sales_quote_collect_totals_before>
</events>

Второй в Observer.php используйте этот код

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);

        $hiddenMethodCode   = 'freeshipping'; 

        foreach ($carriers as $carrierCode => $carrierConfig) 
        {
            if( $carrierCode ==  $hiddenMethodCode )
            {
                $store->setConfig("carriers/{$carrierCode}/active", '0');
            }
        }
}
 }
 0
Author: Ashwani Panwar, 2015-03-27 04:33:15