Tags
Formularze Symfony: select ograniczony przez wartość innego pola

Opis na przykładzie Propela.
Problem
Jak ograniczyć liczbę opcji w sfWidgetFormChoice na podstawie wartości z innego pola formularza. Mowa o ograniczeniu stałym, zdefiniowanym w klasie formularza.
Rozwiązanie
Będąc w klasie formularza mamy dostęp do wartości odpowiadającego obiektu, tylko gdy dany formularz zostanie zainicjalizowany poprzez podanie obiektu do konstruktora (czyli przykładowo $this->form = new SampleForm ($sample_object)). Wtedy możemy pobrać jakąś informację z obiektu i na jej podstawie stworzyć Criteria ograniczające:
$c = new Criteria(); $c->add (APeer::XYZ, $this->getObject()->getAsd()); $this->widgetSchema['asd'] = new sfWidgetFormPropelChoice (array ( 'model' => 'B', 'criteria' => $c));
Podobne wpisy:
From → Symfony
No comments yet




