Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] tablica widgetów w formularzu...
blackroger
post 28.06.2011, 10:12:32
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 8.11.2008

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


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...

Ten post edytował blackroger 28.06.2011, 10:14:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
mkopytko
post 28.06.2011, 10:21:56
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 3
Dołączył: 22.06.2011

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


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
Go to the top of the page
+Quote Post
blackroger
post 28.06.2011, 10:48:03
Post #3





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 8.11.2008

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


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));
Go to the top of the page
+Quote Post
mkopytko
post 28.06.2011, 11:26:42
Post #4





Grupa: Zarejestrowani
Postów: 16
Pomógł: 3
Dołączył: 22.06.2011

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


  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

Ten post edytował mkopytko 28.06.2011, 11:36:36
Go to the top of the page
+Quote Post
blackroger
post 28.06.2011, 14:09:17
Post #5





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 8.11.2008

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


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.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 01:52