Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] tablica widgetów w formularzu...
Forum PHP.pl > Forum > PHP > Frameworki
blackroger
Symfony 1.4


Witam mam pytanie.
Jak w formularzu Symfony utworzyć zwykła tablicę Widgetów.
Normalnie jest przy postowaniu

param[cos1]
param[cos2]
.
.

Jak potrzebuję zrobić
param[cos][cos1]
param[cos][cos2]

z tym ze to ma być ten sam formularz ...wiem ze można użyć embed forms ale ja potrzebuje tylko jedno pole więc wydaje mi się to zbędne....

Nie mogę zrobić tak:
param[name]
param[desc]
param[cos1]
param[cos2]

bo potrzebuje te wartości ew. formFieldy mieć w tablicy asocjacyjnej żeby je odpowiednio wyświetlać....

Proszę o pomoc...
mkopytko
Możesz jako widget ustawić sfWidgetFormSchema

czyli

  1.  
  2. $array['cos1'] = new sfWidgetFormInputText();
  3. $array['cos2'] = new sfWidgetFormInputText();
  4.  
  5. $this->setWidget('cos', new sfWidgetFormSchema($array))
  6.  


tak samo potem z validatorami
blackroger
hmmm....już się ucieszyłem ale coś jeszcze jest nie tak

zrobiłem tak jak napisałeś ale wyrzuca mi błąd
"You must pass an array of values to render a widget schema"

tak mam:

  1. $widgetArray[$cosIndex] = new sfWidgetFormSelect(
  2. array('choices' => $choices,
  3. 'label' => $label));
  4. $this->setWidget('cos', new sfWidgetFormSchema($widgetArray));
mkopytko
  1. $widgetArray['x'] = new sfWidgetFormSelect(array('choices' => array(0,1,2,3,4,5,6,7,8,9),'label' => 'test'));
  2. $widgetArray['x2'] = new sfWidgetFormSelect(array('choices' => array(0,1,2,3,4,5,6,7,8,9),'label' => 'test'));
  3. $this->setWidget('cos', new sfWidgetFormSchema($widgetArray));



Sprawdziłem to i u mnie działa (symfony 1.4.). Sprawdź jeszcze raz u siebie.

P.S. Może wklej cały formularz
blackroger
ok dzięki okazało się że ten błąd był spowodowany tym że do formularza trafiały wartości domyślne z kontrolera i nazwa widgetu była już przypisana wartościom "coś" => value zamiast "coś""coś1" => value...reszta wszystko chodzi...

dzięki raz jeszcze.
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.