Tomasz
Wójtowicz
Programista Ruby on
Rails
Temat: sfWidgetFormDoctrineChoice
Witam,Chciałbym stworzyć dynamiczny sfWidgetFormDoctrineChoice którego zawartość jest zależna od tego jaka jest wartosc metody GET bądź POST.
Robiłem w konfiguracji formularza
$query = odpowiednie zapytanie;
$this->setWidget('type', new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Type'), 'query' => $query)));
Tylko w jaki sposob wlasnie przekazac wartosc metody GET bądź POST do zapytania?
Druga sprawa to tworząc zapytanie gdzie na sztywno wpisalem odpowiednie wartosciu warunku to widget wyswietlal numer id a nie name. Jak to rozwiazac?:>
Jak narazie zrobilem tak ze w akcji tworze zapytanie, wynik przerabiamna arraya i tworze widget
$types1 = zapytanie (razem z uwzglednionym postem badz getem)
// wpisanie do tablicy nazwy typów
$Atypes1_name = array();
foreach ($types1 as $type) {
$Atypes1_name[$type->id] = $type->name;
$Atypes1_id[] = $type->id;
}
$this->types1_count = count($Atypes1_name);
// Jeżeli liczba typów jest wieksza od zera twórz widget i walidator
if($this->types1_count > 0){
$this->form->setWidget('type1', new sfWidgetFormSelectRadio(array('choices' => $Atypes1_name, 'default' => $Atypes1_id[0])));
....
}
No i teraz chodzi o to że niby dziala ale nie za bardzo mi sie to rozwiązanie podoba. Pewnie rozwiązanie ejst bardzo proste tylko jeszcze o tym nie wiem :) OBY :P
PozdrawiamTomasz Wójtowicz edytował(a) ten post dnia 20.12.10 o godzinie 19:30