Für das Styling muss ich eine öffnung <div>
am Anfang eines Elements und eine schließende </div>
Markierung am Ende einer anderen setzen. Wenn ich auf die Dokumente für HtmlDecorator schaue, kann ich nicht herausfinden, wie man es richtig macht, oder ob dies sogar der richtige Dekorateur ist. Es erscheint verschwenderisch, einen eigenen Dekorateur zu kreieren, nur um das zu erreichen.Anfügen oder Voranstellen von HTML-Tags an Zend Formularelement
Antwort
Auf dem Element, in dem Sie eine <div>, fügen Sie diesen Dekorateur hinzufügen möchten:
array(
array('openDiv' =>'HtmlTag'),
array('tag' => 'div', 'openOnly' => true)
)
Auf dem Element, in dem Sie eine </div > hinzufügen möchten, fügen Sie diese Dekorateur:
array(
array('closeDiv' =>'HtmlTag'),
array('tag' => 'div', 'closeOnly' => true)
)
Klingt, als könnten Sie einen display group mit einem HtmlTag
Dekorateur verwenden.
Etwas wie:
$form = new Zend_Form();
$form->addElement('text', 'elt1', array(
'label' => 'Element 1',
));
$form->addElement('text', 'elt2', array(
'label' => 'Element 2',
));
$form->addDisplayGroup(array('elt1', 'elt2'), 'myDisplayGroup');
$group = $form->getDisplayGroup('myDisplayGroup');
$group->setDecorators(array(
'FormElements',
array('HtmlTag', array('tag' => 'div', 'class' => 'myClass'))
));
Dies erzeugt HTML wie folgt:
<form method="post" action="" enctype="application/x-www-form-urlencoded">
<dl class="zend_form">
<div class="myClass">
<dt id="elt1-label"><label class="optional" for="elt1">Element 1</label></dt>
<dd id="elt1-element"><input type="text" value="" id="elt1" name="elt1"></dd>
<dt id="elt2-label"><label class="optional" for="elt2">Element 2</label></dt>
<dd id="elt2-element"><input type="text" value="" id="elt2" name="elt2"></dd>
</div>
</dl>
</form>
Natürlich Jamming ein <div> Tag innerhalb dieser alle <dl>, <dt> und <dd> Wahnsinn erzeugt ungültiges Markup, aber ich nehme an, dass Sie verschiedene Dekoratoren für Ihre Formularelemente angeben, so dass th e <div> wrap Sie Wunsch wird letztlich gültig sein.
Ebenfalls bemerkenswert für allgemeine Markup-Manipulationen ist die AnyMarkup Decorator.
DavidW, Danke für das tolle Beispiel. Ich habe total vergessen, Display-Gruppen zu verwenden. – ashurexm
Mein Vergnügen ;-) –
- 1. (Zend) das Umhüllen Formularelement mit mehreren htmltags
- 2. Wie validiere Formularelement generiert von js in Zend Framework
- 3. Makefile voranstellen und alle Elemente im Array anfügen
- 4. Unterstreichung oder Lodash an Winkel anfügen
- 5. Anfügen von Abhängigkeitseigenschaft an Benutzersteuerelement
- 6. Wie htmltags LabelFor
- 7. So legen Sie benutzerdefinierte Fehlermeldung zend Formularelement Datei?
- 8. Senken Sie den Schwierigkeitsgrad auf einem Captcha Zend Formularelement?
- 9. PHP: Voranstellen/Anhängen Zeichenfolge an eine Variable
- 10. Anfügen an NSTextView
- 11. XSLT Anfügen an Ergebnisdokument
- 12. Eine Zeichenfolge an mysql voranstellen einfügen
- 13. an Zeichenfolge anfügen?
- 14. Anfügen an JSON-Notation?
- 15. Anfügen an GCD-Warteschlange
- 16. NSFetchedResultsController eine Zeile oder einen Abschnitt voranstellen
- 17. Unterprozess automatisch an Debugger anfügen
- 18. Was ist eine Datenstruktur, die O (1) für das Anfügen, Voranstellen und Abrufen von Elementen an einem beliebigen Ort hat?
- 19. Anfügen von Zeilen an ein NumPy-Array
- 20. Anfügen von untergeordneten Knoten an ein div
- 21. Anfügen von Screenshots an TestNG Fehlerhafte Methodenergebnisse
- 22. Anfügen von Array-Daten an Laravel-Modell
- 23. JavaScript: Kinder an Element anfügen
- 24. Anfügen neuer Elemente an Isotop
- 25. Zend Framework Frontcontroller oder Zend Application?
- 26. Debugger nicht an Prozess anfügen
- 27. Lapply Zeilen an Matrix anfügen
- 28. Zweig Inhalt an Block anfügen
- 29. Liste an eine Liste anfügen
- 30. Text an ein Bearbeitungssteuerelement anfügen?
Dies ist genau das, was ich in diesem speziellen Fall suche, danke! – ashurexm