Je souhaite ajouter un montant de taxe personnalisé au panier de paiement par programme.
Voici l'exemple.
Cart Old Tax = 4.21
Custom Tax = 2
New Tax = 4.21 + 2 = 6
Vérifiez la capture d'écran ci-dessous.
J'ai besoin que cela se fasse par programme.
custom amount
venez- vous ?Réponses:
Vous pouvez observer l'événement
sales_quote_address_collect_totals_after
et le réaliser. Pour cela, vous devez configurer un module et configurer un événement. Disons que notre module estMStack_Exchange
.Fichier :
app\code\MStack\Exchange\etc\events.xml
Fichier :
app\code\MStack\Exchange\Observer\ChangeTaxTotal.php
L'appel important est ici:
$total->addTotalAmount('tax', $this->additionalTaxAmt);
. Cela s'ajoutera2
au montant de taxe existant et je pense que c'est ce dont vous avez besoin dans votre cas. Donc, ce que vous devez faire est de le remplacer$this->additionalTaxAmt
par votre valeur tampon fiscale.L'événement se
sales_quote_address_collect_totals_after
déclenche juste après que les calculs totaux ont été effectués et devient donc l'endroit idéal pour jouer.Si vous êtes curieux de savoir où ce calcul au total se passe, alors vous devez regarder dans
Magento\Quote\Model\Quote\TotalsCollector::collect()
etMagento\Quote\Model\Quote\TotalsCollector::collectAddressTotals()
méthodes.la source
@Dhiren Vasoya
Utilisez également ces lignes.
la source