2 Stimmen

Wie man 2 Display-Gruppen in der gleichen div in einem Zend Formular anzeigen?

Wie kann ich mehr als 1 Anzeigegruppe innerhalb eines Divs anzeigen?

Ich muss einfach eine visuelle Trennung zeigen - aber innerhalb desselben Bereichs.

Gibt es eine Möglichkeit, mehr als 1 Anzeigegruppe innerhalb eines Divs anzuzeigen?

zum Beispiel: um das Folgende in Zend Forms zu erreichen:

  <div style="width: 100%;">     

       <div style="width: 50%; float: left; padding-left: 20px; padding-bottom: 25px;">
       <fieldset id="fieldset-homeAddressSettings" tag="fieldset" style="">
         <legend> Home address </legend>
        <!-- multiple elements follow -->
        </fieldset>
       </div>
      <div style="width: 50%; float: left; padding-left: 20px; padding-bottom: 25px;">
     <fieldset id="fieldset-officeAddressSettings" tag="fieldset" style="">
         <legend> Office address </legend>
        <!-- multiple elements follow -->
     </fieldset>  
       </div>
  </div>

Wie kann ich dies in Zend Forms erreichen?

Ich habe gesucht und gesucht und bisher nichts Brauchbares gefunden.

8voto

Ankit Aggarwal Punkte 1506

Die booleschen Optionen 'openOnly' und 'closeOnly' für den 'HtmlTag'-Dekorator tun genau das, was Sie tun müssen. Was openOnly bedeutet, wie Sie herausfinden können, ist das es nur einen öffnenden Tag (d.h. ) ohne den schließenden Tag erzeugt, und umgekehrt für das closeOnly Attribut (d.h.

Zend_Form PHP-Code:

$form = new Zend_Form();

// Form stuff here

$form->addDisplayGroup(
    array(
        'homeAddressLine1',
        'homeAddressLine2',
        'homeCity',
        // etc
    ),
    'homeAddress',
    array(
        'legend' => 'Home Address'
        'disableDefaultDecorators' => true,
        'decorators' => array(
            'FormElements',
            'FieldSet',
            array('HtmlTag', array('tag' => 'div', 'class' => 'addresses', 'openOnly' => true))
        )
    )
);

$form->addDisplayGroup(
    array(
        'workAddressLine1',
        'workAddressLine2',
        'workCity',
        // etc
    ),
    'workAddress',
    array(
        'legend' => 'Work Address'
        'disableDefaultDecorators' => true,
        'decorators' => array(
            'FormElements',
            'FieldSet',
            array('HtmlTag', array('tag' => 'div', 'closeOnly' => true))
        )
    )
);

Erstelltes HTML:

<form <!-- Your Zend_Form attributes here -->>
    <div class="addresses">
        <fieldset id="fieldset-homeAddress">
            <legend>Home Address</legend>
            <!-- Your Home Address elements/decorators here -->
        </fieldset>
        <fieldset id="fieldset-workAddress">
            <legend>Work Address</legend>
            <!-- Your Work Address elements/decorators here -->
        </fieldset>
    </div>
</form>

1voto

Mallika Iyer Punkte 690

Ich arbeitete dieses mit JavaScript aus - es hat mich überzeugt, dass während Zend Form für someethings gut ist, seine nicht immer die beste Option. manchmal seine nur mehr Schmerz als seine wert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X