Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] 1.4 sfWidgetFormChoice
Forum PHP.pl > Forum > PHP > Frameworki
Juzek
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.
lukas.skowronski
Kolega chyba nie czytał dokładnie dokumentacji wink.gif

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

Sekcja: Customizing the Form Display
frani0
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. }
Juzek
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 :]
bikerszymek
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.
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.