Je souhaite définir la remise (par exemple $ 10) par article de manière dynamique, après avoir appuyé sur un bouton personnalisé, dans la page Caisse. J'ai vérifié certains du codage de Magento, de constater que: -Comment définir une remise dynamique sur chaque article du panier par programmation?
- Principalement la classe «
Mage_Sales_Model_Quote_Address
» est toujours affectée, quand tout le monde (tout code Magento) parle de réduction. - Il y a 2 cas de «
Mage_Sales_Model_Quote_Address
» - un pour « facturation » type d'adresse & l'autre pour le type d'adresse « expédition », mais celui-ci l'un est principalement utilisé pour le code de coupon rabais connexes.
Après avoir vérifié ces zones, je suis allé à écrire du code, en ciblant le type d'adresse "expédition" de "Mage_Sales_Model_Quote_Address
", comme: -
$cart = Mage::getSingleton('checkout/cart');
$objShippingAddress = $cart->getQuote()->getShippingAddress();
$discountAmount = 10;
$objShippingAddress->setDiscountDescription('any description');
$objShippingAddress->addTotal(array(
'code' => 'discount',
'title' => "Custom Discount",
'value' => -$discountAmount,
));
$totalDiscountAmount = $discountAmount;
$subtotalWithDiscount = $discountAmount;
$baseTotalDiscountAmount = $discountAmount;
$baseSubtotalWithDiscount = $discountAmount;
$objShippingAddress->setDiscountAmount($totalDiscountAmount);
$objShippingAddress->setSubtotalWithDiscount($subtotalWithDiscount);
$objShippingAddress->setBaseDiscountAmount($baseTotalDiscountAmount);
$objShippingAddress->setBaseSubtotalWithDiscount($baseSubtotalWithDiscount);
$objShippingAddress->setGrandTotal($objShippingAddress->getGrandTotal() - $objShippingAddress->getDiscountAmount());
$objShippingAddress->setBaseGrandTotal($objShippingAddress->getBaseGrandTotal() - $objShippingAddress->getBaseDiscountAmount());
Mais encore je ne suis pas N'importe quelle ligne dans la section "totals
" de ma page de panier de paiement & dans la section de révision de la commande d'une page.
Quelqu'un s'il vous plaît aider. Je sais que c'est faisable.
Merci à tous à l'avance.
Personne ne peut essayer celui-ci? C'est dur, je l'admets, mais s'il vous plait, il doit y avoir quelqu'un qui a essayé ça dans son relais de Magento ... –
Vérifiez la réponse d'Ivan: http://stackoverflow.com/questions/4877413/magento-adding-duties-taxes-to-a -quote-pendant l'examen/4879662 # 4879662 cela a fonctionné pour moi. – OSdave
@OSdave a raison. C'est le meilleur moyen d'ajouter des frais personnalisés ou des réductions. –