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


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

Author: Teja Bhagavan Kollepara, 2013-02-10

4 answers

Переопределение

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

И установлен в активное состояние в бэкэнде

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

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

 12
Author: snh_nl, 2019-01-19 04:19:29

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

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

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

 3
Author: Alex, 2013-02-10 17:28:05

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

 0
Author: Karen Baker, 2013-02-11 21:35:17

Я только что нашел бесплатное расширение с открытым исходным кодом на GitHub для этого: llian_freeadminshipping.

 0
Author: Simon, 2020-06-26 07:03:37