2010-12-06 3 views
3

ich durch diesen Code Formularelement zu schaffen:zend framework: zend Formulardekoratoren - entfernen mehrfach <label>

$input_new = $this->createElement('radio', 'Stars', array(
    'label' => 'Stars', 
    'Options' => array('class'=>'star {split:2}'), 
    'multiOptions'=>array(
     '1'=> '', 
     '2'=> '', 
     '3'=> '', 
     '4'=> '', 
     '5'=> '', 
     '6'=> '' 
); 

Hier ist, was ich habe:

<label for="Stars" class="optional">Stars</label>  
<label for="Stars-1"><input type="radio" name="Stars" id="Stars-1" value="1" class="star {split:2} in_line"></label><br /> 
<label for="Stars-2"><input type="radio" name="Stars" id="Stars-2" value="2" class="star {split:2} in_line"></label><br /> 
<label for="Stars-3"><input type="radio" name="Stars" id="Stars-3" value="3" class="star {split:2} in_line"></label><br /> 
<label for="Stars-4"><input type="radio" name="Stars" id="Stars-4" value="4" class="star {split:2} in_line"></label><br /> 
<label for="Stars-5"><input type="radio" name="Stars" id="Stars-5" value="5" class="star {split:2} in_line"></label><br /> 
<label for="Stars-6"><input type="radio" name="Stars" id="Stars-6" value="6" class="star {split:2} in_line"></label> 

Ich möchte an jedem Eingang und
-Tag entfernen Auch, aber Main Label (Stars) bleiben noch. Wie kann ich das machen?

Antwort

2

Nun, Ihre Radioknöpfe könnten zu einer Anzeigegruppe (einem Feldsatz) gehen, also könnten Sie auch alle Beschriftungen für die Knöpfe entfernen und einfach die Gruppenbezeichnung verwenden. Wenn nicht, müssen Sie wahrscheinlich eine externe Decorator-Ansicht schreiben. Ich kann mir keinen saubereren Weg vorstellen, die Etiketten loszuwerden.

[EDIT]

Hier ist ein Beispiel:

In der Form, stellen Sie die Dekorateure wie folgt aus:

$input_new->setDecorators(array(array('ViewScript', array('viewScript' => 'starsview.phtml')))); 

Dann erstellen Sie eine starsview.phtml Datei. Diese Links sollten sich als nützlich erweisen, um herauszufinden, wie die Ansicht Skripts Inhalt zu erstellen:

Hoffe das hilft.

+0

können Sie hier Beispielcode eingeben? –

+0

es hilft mir nicht :(am ende ich dekoriere einfach alles mit css rules. Havent mehr zeit; ( –

+0

) Nun, es ist auch eine gültige option: D – mingos