Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF]Dekorator jak opakować przyciski radio w div
Forum PHP.pl > Forum > PHP > Frameworki
amii
Jak w temacie kombinowałem ale nic. Tak wygląda output z formularza. Chcę w div-a opakować elementy. Czyli input i p, który jest wartością
<input type="radio" name="answer0[answer]" id="answer0-answer-1" value="1" /><p>45456</p>

  1.  
  2. <dd id="answer0-answer-element">
  3.  
  4. <label for="answer0-answer-1">
  5. <input type="radio" name="answer0[answer]" id="answer0-answer-1" value="1" /><p>45456</p>
  6. </label><br />
  7.  
  8. <label for="answer0-answer-2">
  9. <input type="radio" name="answer0[answer]" id="answer0-answer-2" value="2" /><p>564564</p>
  10. </label><br />
  11.  
  12. <label for="answer0-answer-3">
  13. <input type="radio" name="answer0[answer]" id="answer0-answer-3" value="3" /><p>56456</p>
  14. </label><br />
  15.  
  16. <label for="answer0-answer-4">
  17. <input type="radio" name="answer0[answer]" id="answer0-answer-4" value="4" /><p>56456</p>
  18. </label>
  19.  
  20. </dd>
  21.  
droslaw
Element label nie powinien zawierać taga p. Kod dla radio wygląda tak:
Kod
<input id="x" type="radio" /><label for="x">label</label>

Poczytaj to: Dekoratory w zend
Pilsener
Jak kod HTML ma być skomplikowany to wysmol się na dekoratory + standardowe renderowanie i podepnij własny widok.

Poniżej masz kilka przykładów użycia dekoratorów:

Zwróć uwagę na opcję "openOnly" - oznacza to, że div będzie otwarty dopóki go nie zamkniesz "closeOnly" w innym elemencie
  1. $a->setDecorators(array(
  2. array('ViewHelper'),
  3. array('Errors'),
  4. array(array('data'=>'HtmlTag'), array('tag' => 'span')),
  5. array('Label', array('tag' => 'label')),
  6. array(array('row'=>'HtmlTag'),array('tag'=>'div','openOnly'=>true,'style'=>'margin: 10px 0;'))
  7. ));


  1. $b->setDecorators(array(
  2. array('ViewHelper'),
  3. array('Errors'),
  4. array(array('data'=>'HtmlTag'), array('tag' => 'span')),
  5. array('Label', array('tag' => 'label'))
  6. ));


  1. $c->setDecorators(array(
  2. array('ViewHelper'),
  3. array('Errors'),
  4. array(array('data'=>'HtmlTag'), array('tag' => 'span')),
  5. array('Label', array('tag' => 'label')),
  6. array(array('row'=>'HtmlTag'),array('tag'=>'div','closeOnly'=>true))
  7. ));


To powinno dać mniej więcej trzy elementy w jednym divie.

Poeksperymentuj, przykładów w sieci nie brak.
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.