Comment puis-je activer la livraison gratuite seulement en arrière-plan (pour l'entrée de commande)

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

  •  16-10-2019
  •  | 
  •  

Question

Comment activer la livraison gratuite comme mode de livraison lorsque nous créons l'ordre à partir du panneau d'administration?

Était-ce utile?

La solution

Remplacer

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

add

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

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

Et ACTIVEE en back-end

Vous pouvez placer le code dans local si vous ne voulez pas écraser le noyau

Je peux imaginer que l'on ajoute cela comme une option supplémentaire dans les paramètres de back-end et cette marque de manière configurable il.

Autres conseils

Alors que les méthodes de paiement, il est possible de les activer avec un drapeau uniquement sur frontend et backend aussi (mais pas vice-versa), des méthodes d'expédition, il n'y a pas de tels drapeaux du tout.

Vous pourriez déduire une méthode propre d'expédition dans un module personnalisé et getAllowedMethods() Écraser pour déterminer si l'ordre doit être créé dans le frontend ou dans le back-end,

Une solution très simple serait de créer une règle de panier sans expédition avec un code promo que vous seul connaissez. Cela peut alors être simplement entré dans le back-end.

Vous faire collectRates () retourne vide à moins qu'il n'invoqué par admin. Comment savoir si son appelé via admin, bien que vous pouvez définir une valeur de Registre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top