2010-12-06 53 views

Répondre

14

Vous devez ajouter un nouveau collecteur après le grand total (Mage_Sales_Model_Quote_Address_Total_Grand). Il doit modifier la somme qui a été définie par le grand collectionneur total. J'ai parlé d'un tel cas lors de la conférence MageConf en Ukraine il y a une semaine. La vidéo et les diapositives ne sont pas encore disponibles, mais download demo-module a été décrit lors de la conférence. Il y a un exemple de collecteur total qui calcule le prix d'emballage.

Vous pouvez modifier ma démo collector totale donc il sera inséré dans la collecte de processus après collecteur Total (voir config.xml dans le module etc répertoire - supprimer <before>subtotal</before> nœud puis utiliser à la place <after>grand_total</after>) et modifier collectionnez() méthode juste pour définir les grands totaux à vos valeurs prédéfinies:

$address->setGrandTotal($someValue); 
$address->setBaseGrandTotal($someBaseValue); 

Ou vous pouvez laisser ce module comme il est, mais fixé les totaux négatifs en elle. Ainsi, le grand collectionneur total les soustraira et diminuera la grande valeur totale comme vous le souhaitez. Dans ce cas également, le client pourra voir vos valeurs négatives (donnez-les en méthode fetch()) et comprendre pourquoi les totaux généraux ont été abaissés.

Amusez-vous :)

+0

excellent exemple –

+0

merci pour l'aide, mais je veux changer le prix du panier avant de placer le nouveau processus de commande/commande. Est-ce que ça marche avec la même chose? – smart

+0

ouais, il fonctionne le même –

0

vous ne pouvez pas vous devez faire un nouvel objet total ou ajouter des sommes comme des produits virtuels

s'il vous plaît observer

Mage_Sales_Model_Quote_Address_Total_Abstract Mage_Sales_Model_Order_Invoice_Total_Abstract Mage_Sales_Model_Order_Creditmemo_Total_Abstract

pour voir ce qui est nécessaire pour mettre en œuvre un objet total. Vous devrez peut-être étendre les objets de taux

+2

Pouvez-vous s'il vous plaît fournir plus d'informations à ce sujet? – smart