Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] 1.4 sfWidgetFormChoice, Wypisanie poszczególnych inputów
Juzek
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 1.08.2007

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


Witam.
Chciałbym wypisać pola pojedynczo a nie wszystkie na raz jak to się odbywa przy pomocy:
  1. echo $form


Posiadam:
  1. $form = new sfForm();
  2. $form->setWidget('template', new sfWidgetFormChoice(array('expanded' => true,
  3. 'choices' => array('1', '2', '2,5', '3', '4', '5'),
  4. )));
  5. $form->setValidator('template', new sfValidatorChoice(array('choices' => array('1', '2', '2,5', '3', '4', '5')
  6. )));


Dzięki z góry za rady, wracam na Google.
Go to the top of the page
+Quote Post
lukas.skowronski
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.10.2007

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


Kolega chyba nie czytał dokładnie dokumentacji (IMG:style_emoticons/default/wink.gif)

http://www.symfony-project.org/gentle-intr...1_4/en/10-Forms

Sekcja: Customizing the Form Display
Go to the top of the page
+Quote Post
frani0
post
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 5
Dołączył: 9.03.2011

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


co rozumiesz jako pojedynczo? czy chodzi o to że masz pola
wzrost
waga
wiek

i chcesz wypisać tylko dwa pierwsze? To wtedy:
  1. $form->useFields('wzrost','waga');


jeśli w pliku konfiguracyjnym to dajesz tak
  1. public function configure()
  2. {
  3. ...
  4. $this->widgetSchema->useFields('wzrost','waga');
  5. ...
  6. }


Ten post edytował frani0 28.04.2011, 15:46:56
Go to the top of the page
+Quote Post
Juzek
post
Post #4





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 1.08.2007

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


Rozwiązałem to w ten sposób:

  1. for($a = 0;$a < count($tempaltes);$a++) {
  2. $form->setWidget('template_' . $a, new sfWidgetFormInput(array(), array('type' => 'radio')));
  3. $form->setValidator('template_' . $a, new sfValidatorChoice(array('choices' => array('1'))));
  4. }


Dzięki temu mogę wypisać pola w np. ten sposób:

  1. <?php foreach($tempaltes as $key => $template):?>
  2. <?php echo $form['template_' . $key] ?> <?php echo $template['templateName']?><br />
  3. <?php endforeach?>


Dziękuje za pomoc :]
Go to the top of the page
+Quote Post
bikerszymek
post
Post #5





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 23.08.2008

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


Co prawda nie rozumiem Twojego pytania w kontekście Twojej własnej odpowiedzi, niemniej w takim przypadku najłatwiej jest iterować w taki sposób:

  1. <?php foreach ($Form->getFormFieldSchema() as $Field): ?>
  2. <?php echo $Field ?>
  3. <?php endforeach; ?>


Jak zdumpujesz sobie $Field to zobaczysz dokładnie co się tam znajduje i ewentualnie będziesz mógł wywołać to w inny sposób niż __toString.

Ten post edytował bikerszymek 28.04.2011, 20:47:08
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: 28.08.2025 - 11:40