2010-12-13 13 views
5

Mam wbudowany program do tworzenia formularzy i Potrzebuję możliwości przypisania opisu do każdej opcji w elemencie radiowym. Po utworzeniu tego elementu radiowego proszę użytkownika o przypisanie każdej wartości opisu, który powinien zostać wyświetlony obok elementu. Tak więc w mojej bazie danych mam wartość, tytuł i opis dla każdej opcji w tym elemencie radiowym.Umieszczenie kodu HTML obok przycisku opcji w formularzu Zend

Pytanie: Jak umieścić coś obok elementu radiowego? Czy muszę utworzyć nowy sposób dla formularza do renderowania elementów radiowych, czy może to zrobić za pomocą dekoratorów?

Każda odrobina pomaga, przydatne jest również czytanie!

przedstawia to, co trzeba:

**A title of the Radio element** 
     O Option 1  - A description for option 1  
     O Option 2  - A description for option 2  
     O Option 3  - A description for option 3  
     O Option 4  - A description for option 4  

Jakieś pomysły?

Odpowiedz

12

Trudno powiedzieć z twojego pytania, ale gdzie abouts jest rzeczywistym przyciskiem w twoim znaczniku?

Jeśli jest po lewej lub prawej stronie nazwy opcji, można po prostu użyć etykiety, aby wprowadzić dodatkowy znaczników i ustawić escape własność ViewHelper do false włączyć HTML


Na przykład

$form->addElement('radio', 'test', array(
    'label' => '**A title of the Radio element**', 
    'multiOptions' => array(
     1 => 'Option 1 <strong>- A description for option 1</strong>', 
     2 => 'Option 2 <strong>- A description for option 2</strong>' 
    ), 
    'escape' => false 
)); 

wygląda następująco

Form Screenshot

+0

Sam przycisk radiowy jest w formie. I co chcę zrobić, to mieć opis opcji, a nie samego elementu radiowego. Nie sądzę, że istnieje coś takiego jak etykieta opcji, jest tam tylko wartość i tytuł. Nie sądzę nawet, że istnieją dekoratory opcji, ponieważ seperatory zrobiły to za pomocą znacznika w klasie. Pomyślałem, że może istnieć sposób użycia separatora do moich celów, ale nie sądzę, że to zrobi. –

+1

@ Janis Każda opcja przycisku opcji ma wartość i etykietę. Są one ustawiane za pomocą par klucz => wartość podczas dodawania opcji wielu. Możesz umieścić etykietę opcji przed (przed rozpoczęciem) lub po (dołączyć) element przycisku radiowego, a także poinformować dekoratora ViewHelper, że nie chcesz wymazywać znaczników z etykiet. – Phil

+0

OK, brzmi to obiecująco. Czy mógłbyś podać jakiś przykład tego, w jaki sposób mogę to osiągnąć? Dzięki! –

0

Zobacz samouczek, który napisałem, rozwiązujący ten problem.

http://wesleyalmeida.net/what-ive-learned/how-to-decorate-a-radio-element-in-zend/

+0

W twoim przypadku (złożony znacznik) poszłabym z niestandardowym dekoratorem i/lub zobacz pomocnika. – Phil

+0

Nie widziałem dobrego dekoratora niestandardowego, który działał dla elementów grupy radiowej. Możliwość dodania kodu HTML do etykiety była najlepszą opcją i łatwiejsza w obsłudze niż w przypadku niedostatecznie udokumentowanych dekoratorów. Czy wiesz, gdzie jest dobry tutorial na temat dekoratorów elementów radiowych? Dokumentacja jest okropna! – Wes

Powiązane problemy