Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziedziczenie metody / funkcji i dodanie parametru do funkcji
Forum PHP.pl > Forum > Przedszkole
Elber
Witam,

mam klasę Model_Order i w niej metodę / funkcje sendNewOrderEmail()

http://pastebin.com/wq31H9ee

i w niej jest przypisanie parametrów do mailera

$mailer->setTemplateParams(....

chciałbym nie modyfikując tej funkcji dodać własne parametry do niej jednak coś mi nie wychodzi ;/

http://pastebin.com/nTMQHPJZ

Co robię źle ?
nospor
  1. parent::sendNewOrderEmail(); //PRZECIEZ O TUTAJ W TYM MOMECIE ZOSTANIE JUZ WYSLANY MAIL, WIEC POZNIEJSZE USTAWIENIE PARAMETROW JUZ NIC NIE DA
  2.  
  3.  
  4.  
  5.  
  6. //POZA TYM SKAD POMYSL, ZE ZMIENNA LOKALNA $mailer BEDZIE WIDOCZNA POZA FUNKCJĄ?
  7. $mailer->setTemplateParams(array(
  8.  
  9. 'var1' => 'zmienna1',
  10.  
  11. 'var2' => 'zmienna2'
  12.  
  13. ));

Przenosze. Do OOP to jeszcze daleko.
Elber
Ok czyli usuwam parent::sendNewOrderEmail();
jak mogę dostać się do tej zmiennej $mailer ?
nospor
$this kolego $this wink.gif
Elber
  1. $this->setTemplateParams(array(
  2. 'confirmationRequired' => $confirmation_required,
  3. 'confirmationUrl' => $confirmation_url
  4. ));
  5.  
  6. return $this;


?
nospor
Bierzesz sie za klasy i naprawde nie wiesz co to jest $this i do czego sluzyc?

$this->mailer
i mailer ma być właściwością klasy.
Elber
Czyli nie mogę pobrać tego mailera w mojej klasie tylko muszę zmodyfikować tą którą rozszerzam ?
nospor
edit:
Cytat
chciałbym nie modyfikując tej funkcji dodać własne parametry do niej jednak coś mi nie wychodzi ;/

I to zalozenie rozklada caly system, bo raczej bez modyfikacji tamtej funkcji nic nie zrobisz.

Cytat
Czyli nie mogę pobrać tego mailera w mojej klasie tylko muszę zmodyfikować tą którą rozszerzam ?
No niestety nie. CHyba ze jakims cudem o to:
Mage::getModel('core/email_template_mailer');
za kazdym razem zwraca ten sam obiekt
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.