“Получить котировки” не возвращает ошибки, если доступных ставок нет

magento.stackexchange https://magento.stackexchange.com//questions/51880

Вопрос

Это всегда хороший подход - показать пользователю любой результат (отрицательный или положительный).

В моем случае, когда я нажимаю на кнопку "Получить котировки" на Моя тележка страница и тарифы доступны — все в порядке.

Но когда для этого адреса нет доступных тарифов, мне нужно показать клиенту что-то вроде "Эй, чувак, никаких тарифов".

Насколько я понимаю, мне нужно покопаться в estimatePostAction метод и проверьте тарифы вручную и установите какое-нибудь флэш-сообщение.

Но мне просто интересно, есть ли другой Magento-способ использовать этот подход?

Спасибо за любое предложение или видение.

Это было полезно?

Решение

Что ж, наконец-то я решил эту проблему.

Но я не использовал CartController из-за этот вопрос, но наблюдатель sales_quote_collect_totals_after.

Другие советы

Я просто использую что-то похожее на:

<?php $_shippingRateGroups = $this->getShippingRates(); ?>
<?php if (!$_shippingRateGroups): ?>
    <p><?php echo $this->__('Sorry, no shipping quotes are available to this address. Please contact us at ' . Mage::getStoreConfig('general/store_information/phone') . ' for a shipping quote') ?></p>
<?php else: ?>
    ...success message...

и наша функция getshippingrates выглядит примерно так:

 public function getShippingRates()
{
    if (empty($this->_rates)) {
        $this->getAddress()->collectShippingRates()->save();
        $groups = $this->getAddress()->getGroupedAllShippingRates();
        /**
        * If no shipping rate is found an error report will be logged containing product and customer information.
        */
        if (empty($groups)) {
            $this->noShipRateError();
        }
        return $this->_rates = $groups;
    }
    return $this->_rates;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top