Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] opcje do sfWidgetFormSelect w szablonie
Foxx
post
Post #1





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Witajcie, czy mogę dodać opcje do widgeta sfWidgetFormSelect dopiero w szablonie, a nie podczas tworzenia jego instancji w klasie formularza? Jeżeli tak, to jak to zrobić?

Potrzebuję tego bo opcje są zależne od obliczeń których dokonuję dopiero w module.
Poradziłem sobie na razie tak, że w klasie formularza podaję jako parametr "choices" statyczne pole z modułu, ale może da się to uprościć?
Pozdrawiam i dzięki.

A nawet sobie nie poradziłem, przecież i tak nie będę w ten sposób mógł dynamicznie przypisywać wartości. A więc bardzo tej porady potrzebuję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

-----
EDIT:

Poradziłem sobie ale w dziadowski sposób chyba: zrobiłem kilka tablic z opcjami w klasie formularza i kilka widgetów, każdy dostaje inną tablicę a potem w szablonie w zależności od obliczeń wyświetlam jeden z tych widgetów.
To jest kłopotliwe bo potem aż do końca muszę panować nad tym który widget został zastosowany, na pewno jest wygodniejszy sposób...

Ten post edytował Foxx 4.08.2009, 16:00:52
Go to the top of the page
+Quote Post
michalg
post
Post #2





Grupa: Zarejestrowani
Postów: 122
Pomógł: 8
Dołączył: 20.10.2008

Ostrzeżenie: (0%)
-----


Witam,

Nie wiem, czy do końca rozumiem Twój problem, ale mówiąc moduł chodzi Ci o akcję? Skoro obliczenia są wykonywane w akcji, to dlaczego ich nie umieścisz przed tworzeniem obiektu formularza i nie prześlesz do konstruktora?

  1.  
  2. class JakisForm extends sfForm
  3. {
  4. private $opcje;
  5.  
  6. public function __construct($opcje)
  7. {
  8. $this->opcje = $opcje;
  9.  
  10. parent::__constuct();
  11. }
  12.  
  13. public function configure()
  14. {
  15. $this->widgetSchema['select'] = new sfWidgetFormSelect(array("choices"=>$this->opcje));
  16. }
  17. }
  18.  
  19.  
  20. // moduł
  21. public function jakasAkcja($request)
  22. {
  23. // jakieś obliczenia
  24. [...]
  25.  
  26. // tworzymy forma
  27. $form = new JakisForm($obliczoneOpcje);
  28. }
  29.  
  30.  
Go to the top of the page
+Quote Post
Foxx
post
Post #3





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


dzięki (IMG:style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 23:13