Как включить бесплатную доставку только в бэкэнд (для входа за заказ)

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

  •  16-10-2019
  •  | 
  •  

Вопрос

Как включить бесплатную доставку в качестве метода доставки, когда мы создаем заказ с панели администратора?

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

Решение

Переопределить

app/code/core/Mage/Shipping/Model/Carrier/Freeshipping.php

И добавить

    public function collectRates(Mage_Shipping_Model_Rate_Request $request)
    {
        if (!$this->getConfigFlag('active')) {
            return false;
        }

if (!Mage::app()->getStore()->isAdmin())) {
            return false;
        }

И принять участие в Backend

Вы можете поместить код в локацию, если не хотите перезаписать ядро

Я могу представить, что мы добавляем это в качестве дополнительной опции в настройках бэкэнд, и таким образом сделать его настраиваемым.

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

В то время как в методах оплаты можно активировать их с помощью флага только на фронте, а также на бэкэнд (но не наоборот), для методов доставки нет таких флага вообще.

Вы можете получить собственный метод доставки в пользовательском модуле и перезаписать getAllowedMethods() Чтобы определить, должен ли порядок быть создан на блюде или в бэкэнде,

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

Вы сделаете Collectrates () возвращать пустым, если это не вызывает его через администратор. Как узнать, если бы он был вызван через администратор, вы можете установить значение реестра.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top