Frage

Wie aktiviere ich kostenlosen Versand als Versandmethode, wenn wir Bestellung aus dem Administrator -Panel erstellen?

War es hilfreich?

Lösung

Überschreiben

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

Und hinzufügen

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

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

Und auf aktives Backend eingestellt

Sie können den Code in lokaler Bestand haben, wenn Sie den Kern nicht überschreiben möchten

Ich kann mir vorstellen, dass wir dies als zusätzliche Option in den Backend -Einstellungen hinzufügen, und so macht es konfigurierbar.

Andere Tipps

Während es in Zahlungsmethoden möglich ist, sie mit einer Flagge nur für Frontend und auch auf dem Backend (jedoch nicht um umgekehrt) zu aktivieren, gibt es für Versandmethoden überhaupt keine solchen Flaggen.

Sie können eine eigene Versandmethode in einem benutzerdefinierten Modul und überschreiben getAllowedMethods() Um festzustellen, ob die Bestellung im Frontend oder im Backend erstellt werden soll,

Eine sehr einfache Problemumgehung wäre die Erstellung einer freien Cart-Regel mit einem Promo-Code, den Sie nur kennen. Dies kann dann einfach in das Backend eingegeben werden.

Sie würden die Collectrate () leer zurückgeben, es sei denn, es wird über Administrator aufgerufen. Wie Sie wissen, ob es über Administrator aufgerufen wird, können Sie einen Registrierungswert festlegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top