Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Ukrycie jednego pola w formularzu przed render()
Forum PHP.pl > Forum > PHP > Frameworki
aze
Witam

Mam formularz który zawiera ok 30 pól, zależy mi na tym żeby jego rysowanie w widoku odbywało się za pomocą render() formularza, a nie rysowaniem każdego pola oddzielnie. Wszystkie pola maja rysować się normalnie prócz jednego które rysuje w partialu wcześniej, zupełnie poza główną tabela formularza. Jest jakaś metoda pozwalająca na wyłączenie konkretnego pola z automatycznego renderowania i renderowanie go ręcznie za pomocą $form['pole']->renderRow();?
Crozin
IIRC nie ma. Ale nic nie stoi na przeszkodzie byś w BaseForm dodał sobie kilka metod pozwalających na wyświetlanie określonych pól/wszystkiego poza określonymi itp.
Diwi
Sam miałem podobny problem i rozwiązałem go w widoku mniejwięcej tak:

  1. <? foreach( $form as $widget ) {
  2. if( $widget->getName() !== 'nazwa_wykluczonego_pola' ) {
  3. if(!$widget->isHidden()) {
  4. echo $widget->renderLabel();
  5. }
  6. echo $widget->render();
  7. } else {
  8. // i tutaj renderujesz sobie w inny sposób ten widget który wcześniej wykluczyłeś
  9. }
  10. }
  11. ?>
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.