Question

Je dois actualiser la page du panier et afficher un bloc personnalisé au cas où mes totaux généraux seraient négatifs.

$grandTotal = Mage::helper('checkout/cart')->getQuote()->getGrandTotal();

Ceci imprime -$2,269.50, mais lorsque j'utilise la condition ci-dessous, cela ne fonctionne tout simplement pas.

If ($grandTotal < 0 ){
//do something
}else{
//do something else
}

Comment puis-je vérifier si le nombre est inférieur à 0, c'est-à-direnégatif

Merci

Était-ce utile?

La solution

Votre problème est que GetGrandTotal renvoie plutôt une chaîne plutôt qu'un numéro.Essayer de voir si une chaîne est plus basse, alors 0 ne va pas fonctionner.

Vous pouvez filtrer la chaîne et supprimer tout ce qui n'est pas un numéro en utilisant

filter_var($grandTotal, FILTER_SANITIZE_NUMBER_INT);

qui dans votre cas revenir -226950 que vous pouvez ensuite vérifier s'il est inférieur puis 0, si vous devez faire des chèques supplémentaires, vous devez gérer la façon dont il supprime le séparateur entre le séparateur entre lelivres et pence.

if(filter_var($price,FILTER_SANITIZE_NUMBER_INT) < 0) {
    // Do something
} else {
    // Do something else
}

Autres conseils

Si vous voulez aussi le montant exact, vous pouvez utiliser

$currency_sign = "$";
$actual_amount = str_replace($currency_sign,'',$grandTotal); // $grandTotal is -$2,269.50
if($actual_amount < 0) { //$actual_amount will have the value as -2,269.50
    // Do something
} else {
    // Do something else
}

Tout ce dont vous avez besoin est d'utiliser le bon signe de devise.Vous pouvez obtenir le signe de la monnaie actuelle par le code suivant:

Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol();

Je suggère que au lieu d'utiliser

$grandTotal = Mage::helper('checkout/cart')->getQuote()->getGrandTotal();

Veuillez utiliser

$quote = Mage::helper('checkout/cart')->getQuote();
$quoteData= $quote->getData();
$grandTotal=$quoteData['grand_total'];

Il donne une valeur d'entier / flotteur appropriée.

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