THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 surcharger model cart

(10-12-2015 16:15:48)


Bonjour,

Je veux modifier des methodes dans Thelia\model\cart.php  comme par exemple la méthode getTaxedAmount(Country $country, $discount = true) , mais je ne sais pas comment faire dans le contexte de Thelia 2.
Et puisque je ne peux pas modifier le code dans le core de thelia,
Comment faire cela ?

Merci !

Offline

#2 Re: surcharger model cart

(10-12-2015 18:07:52)


Tu ne peux pas modifier une méthode du core, à moins de vouloir te couper des futures mises à jour de Thelia.

La question, c'est : pourquoi veux-tu modifier cette méthode ?


OpenStudio Toulouse

Offline

#3 Re: surcharger model cart

(11-12-2015 09:27:58)


bonjour,

merci pour votre reponse,

je peux pas surcharger une méthode du core??
je veux modifier la methode qui calcule le prix ttc en cas d'appliquation un coupon (if discount), parce que je veux que  le montant TVA  se calcule  à partir de prix HT apres la remise et non pas à partir de prix HT intiale  par la suite le prix totale ttc va se modifie.

donc j'ai ajouter cette methode dans cartItem.php:
public function getTva(Country $country)
    {
        return  ($this->getRealTaxedPrice($country)-$this->getRealPrice())/$this->getRealPrice();
    }
   
et j'ai modifier la methode getTaxedAmount  dans cart.php
celle ci:
  if ($discount) {
            $total -= $this->getDiscount();
            if($total < 0) {
                $total = 0;
            }
        }

par celle là

      if ($discount) {
            $totall = 0;
            foreach ($this->getCartItems() as $cartItem)
            {
            $subtotal = $cartItem->getRealPrice();
            $subtotal *= $cartItem->getQuantity();
             $totall += $subtotal;
            }
            //total hti
            if ($totall!=0)
            {
       //pourcentage tva exple 0.1
         $pourcentageTva=   $this->getDiscount()/$totall; 
            }
        $total =0;
           foreach ($this->getCartItems() as $cartItem)
        {
            //totaltva
            $total += $cartItem->getRealPrice($country)*(1- $pourcentageTva)* $cartItem->getTva($country) ;
        }               
            $total+= $this->getTotalAmount($discount=true);
        }


merci

Last edited by mir_debutant (11-12-2015 09:30:24)

Offline

#4 Re: surcharger model cart

(11-12-2015 09:51:08)


Disons que si tu modifie un fichier du core, tu perdras ta modification lors de la prochaine mise à jour.

A toi de voir.


OpenStudio Toulouse

Offline

#5 Re: surcharger model cart

(11-12-2015 09:57:12)


Oui je sais, mais est ce que je peux créer une autre classe(model) cart qui est plus prioritaire de la classe(model) cart de la core.

merci