teamon.eu

blah blah blah

sfShoppingCart i podatek

31 lipca 2007

Kategorie:

Tagi:

  • PHP
  • Symfony
Sprawa jest tak banalna, aż dziwie się że nie ma tego wbudowanego. Chodzi mi wyświetlenie ceny produktu wraz z podatkiem.

Bierzemy się do pracy.

Mamy metodę $item->getPrice() więc tak jak jest to zrobione dla total dodajemy do plugins/sfShoppingCart/lib/sfSHoppingCartItem.class.php metodę

getPriceWithTax()

Jako, że obiekt sfShoppingCartItem nie przechowuje informacji o podatku trzeba będzie ją pobrać z koszyka i zwrócić wynik pomnożony przez 1 + $tax:
 
public function getPriceWithTax()
{
  $tax = $this->getShoppingCart()->getTax();
  return $this->price * (1 + $tax / 100);
}
 

Odpalamy i widzimy... error mówiący mniej więcej tyle, że właściwość shopping_cart jest undefined.
Podstawowe pytanie - dlaczego?
Pewnie dlatego, że nie została zdefiniowana! (odkrycie no nie?)

Przejdźmy do rzeczy, otwieramy sfShoppingCart.class.php (z tego samego folderu co poprzednia klasa), i idziemy do metody addItem($item).
Na samym końcu zaraz przed return dodajemy:

 
$item->setShoppingCart($this);
 

Od teraz możemy się cieszyć łatwością obsługi cen z podatkiem :)

Zostaw komentarz

code