Artikel über Zend_Form im PHP Magazin 5.08 erschienen

Das PHP Magazin 5.08 ist zwar schon vor einigen Tagen / Wochen herausgekommen, aber dennoch möchte ich nochmal kurz darauf hinweisen. In der Ausgabe ist ab Seite 29 nämlich ein Artikel von mir über Zend_Form erschienen. In dem Artikel stelle ich die verschiedenen Möglichkeiten vor, mit denen man Formulare durch Zend_Form erstellen und ausgeben kann. Auf der CD-ROM gibt es auch alle Beispielcodes, so dass ich hoffe, dass jeder damit einen Einstieg findet. Über Feedback zum Artikel würde ich mich sehr freuen.

12 Antworten für “Artikel über Zend_Form im PHP Magazin 5.08 erschienen”

  1. Axel sagt:

    Hallo Ralf,

    ich benutze auch Zend_Form, bin aber wegen der Komplexität manchmal am Verzweifeln. Was ich aktuell absolut nicht hinbekomme, ist zwei Elemente nebeneinander zu positionieren, also sowas:

    Datum

    Ich hab schon Verschiedenes versucht, mit Dekoratoren und DisplayGroups. Zuletzt bis ich beim ViwwScript-Dekorator gelandet. Das funktionierte auch, ist mir aber zu aufwändig.

    Hast Du da Erfahrungen?

    Danke Axel

  2. Axel sagt:

    Hmm, der Quelltext wird trotz -Tag nicht angezeigt!

  3. Ralf Eggert sagt:

    Ich habe neulich Wordpress aktualisiert, vorher klappte das mit den >code< Blöcken. Du kannst aber stattdessen auch [ php ] und [ /php ] bzw. [ html ] und [ /html ] (ohne die Leerzeichen) verwenden. Dann sollte das eigentlich klappen. Ich teste das mal eben selber mit deinem Code

    HTML:
    1. <div class="formfield">
    2.     <div class="fieldname"><label for="DATE" class="fieldname">Datum</label></div>
    3.     <div class="fieldinput">
    4.         <input type="text" name="DATE" title="Date" value=""></input>
    5.         <input type="text" name="TIME" title="Time" value=""></input>
    6.     </div>
    7. </div>

  4. Ralf Eggert sagt:

    Oder als PHP

    PHP:
    1. <div class="formfield">
    2.     <div class="fieldname"><label for="DATE" class="fieldname">Datum</label></div>
    3.     <div class="fieldinput">
    4.         <input type="text" name="DATE" title="Date" value=""></input>
    5.         <input type="text" name="TIME" title="Time" value=""></input>
    6.     </div>
    7. </div>

  5. Ralf Eggert sagt:

    Zu deiner Frage: Da bin ich leider auf den ersten Blick selber ziemlich überfragt. Es wird sicher mit den Dekorierern irgendwie gehen, macht das Ganze aber dann wohl recht komplex, weil du zwei Felder ja quasi miteinander verschachtelst. Die Frage ist wohl eher etwas für Matthew, den Entwickler von Zend_Form. Bist du auf einer der ZF Listen angemeldet? Dann könntest du dort mal direkt nachfragen.

  6. Axel sagt:

    Ja, da habe ich das auch schon vorgetragen aber mehr als allgemeine Hinweise in Richtung DisplayGroups waren nicht rauszulocken.

  7. Ralf Eggert sagt:

    Ok, wäre es denn möglich, dass du den HTML Code etwas umbaust:

    HTML:
    1. <div class="formfield">
    2.     <div class="fieldname"><label for="DATE[DATE]" class="fieldname">Datum</label></div>
    3.     <div class="fieldinput">
    4.         <input type="text" name="DATE[DATE]" title="Date" value=""></input>
    5.     </div>
    6.     <div class="fieldinput2">
    7.         <input type="text" name="DATE[TIME]" title="Time" value=""></input>
    8.     </div>
    9. </div>

    Dann wäre es evtl. möglich, die beiden Felder in eine Subform zu packen (deshalb die neue Feldnamen) und mit Hilfe der Dekorierer bei Feld DATE[TIME] das Rendern des Labels abzuschalten. Wäre das eine Lösung?

  8. Ganz kurz: Artikel zu Zend_Form nun online verfügbar » Ralfs PHP und Zend Framework Blog sagt:

    [...] Artikel über Zend_Form im PHP Magazin 5.08 erschienen [...]

  9. Christian sagt:

    Sehr guter Artikel, ohne den ich mich nicht so einfach in Zend_Form eingefunden hätte :-)

    Aus dem Artikel: [... ]In Gesprächen mit anderen Entwicklern kam in der Vergangenheit mehrmals ein Kritikpunkt an Zend_Form auf, der sich auf das Rendern der Formulare in einem Zend_View-Skript bezieht. Zend_Form stellt mit der render()-Methode derzeit nur eine einzige Möglichkeit für das Rendern des vollständigen Formulars bereit. Manche Entwickler wünschen sich an dieser Stelle mehr Flexibilität.

    Matthew hat diesen Wunsch bereits erhört und einen eigenen Vorschlag für eine Erweiterung gemacht. Da diese Erweiterung nicht so kompliziert zu sein scheint, wird sie wahrscheinlich bereits in einem der nächsten Releases verfügbar sein.

    Darauf warte ich auch :-) Für komplexe (Whitelabel-)Formulare, die in X versch. Websites integriert werden sollen ist dies IMO unbedingt notwendig.

    Ist das in Rel. 1.6 bereits enthalten, bzw. weiß man da bereits näheres?

    Grüße, Christian

  10. Ralf Eggert sagt:

    Moin Christian,

    erst einmal danke, freut mich, dass der Artikel weiter geholfen hat. Den aktuellen Stand zu dem Problem findest du im Issue Tracker. Es sieht aber so aus, dass es noch nicht implementiert ist. Forcieren könnt ihr das, indem ihr euch im Issue Tracker einloggt und dort für dieses Issue votet. Aktueller Stand sind 13 Votes.

    http://framework.zend.com/issues/browse/ZF-3217

    Vielleicht hilft dir aber schon der Zend_Form_Decorator_ViewScript weiter, mit dem man auch etwas mehr Eingriffsmöglichkeiten in die Ausgabe.

    http://framework.zend.com/manual/en/zend.form.standardDecorators.html#zend.form.standardDecorators.viewScript

    Gruss,

    Ralf

  11. Christian sagt:

    Okay. Besten Dank für die prompte Antwort.

    Christian

  12. Ralfs Zend Framework und PHP Blog » Mein Rückblick auf 2008 « sagt:

    [...] 2008 sind insgesamt drei Artikel von mir im deutschsprachigen PHP Magazin erschienen: über Zend_Form, über die Neuerungen in Zend Framework 1.5 und über Zend_Pdf. Der nächste Artikel über [...]

Hinterlasse eine Antwort