I would like to get a similar form:

<form enctype="multipart/form-data" method="post" action="" class="basic">
   <div class="inner-form">
      <div class="msg msg-error"><p>I'm an error message!</p></div>
      <dl>
         <dt><label for="some1">Username:</label></dt>
         <dd>
            <input type="text" name="some1" id="some1" class="txt"/>
         </dd>

         <dt><label for="some3">Password:</label></dt>
         <dd>
            <input type="text" name="some3" id="some3" class="txt"/>
         </dd>

         <dt></dt>
         <dd>
            <input type="submit" value="Log in" class="button"/>
         </dd>
      </dl>
   </div>
</form>


--------------------------------------------------------------------
How do i get it with Decorators? I try with the following code but something still missing:

 1. <div class="inner-form"> - that wraps all elements inside the form.
2. <div class="msg msg-error"><p>I'm an error message!</p></div> - error message.
--------------------------------------------------------------------

<?php

class Core_Form_Utenti_Login extends Zend_Form {

     protected $_standardElementDecorator = array(
        'ViewHelper',
        array('HtmlTag', array('tag' => 'dd')),
                'Errors',
        array('Label', array('tag' => 'dt'))
     );

     protected $_buttonElementDecorator = array(
                'ViewHelper',
        array('HtmlTag', array('tag' => 'dd')),
        'Label'
     );


    public function init() {

        $username = new Zend_Form_Element_Text('username');
        $username->setFilters(array('StringTrim', 'StringToLower'))
                         ->setLabel('Username:')
                         ->setRequired(true)
                         ->setDecorators($this->_standardElementDecorator)
                         ->setAttrib('class', 'txt');

        $password = new Zend_Form_Element_Password('password');
        $password->setFilters(array('StringTrim'))
                         ->setLabel('Password:')
                         ->setRequired(true)
                         ->setDecorators($this->_standardElementDecorator)
                         ->setAttrib('class', 'txt');

        $submit = new Zend_Form_Element_Submit('accedi');
        $submit->setLabel('Accedi')
                   ->setIgnore(true)
                   ->setDecorators($this->_buttonElementDecorator)
                         ->setAttrib('class', 'button');

        $this->addElements(array($username, $password, $submit));

                $this->setDecorators(array(
                        'FormElements',
                        array('HtmlTag', array('tag' => 'dl')),
                        array('Description', array('placement' => 'prepend', 
'class' => 'error')),
                        array('Form', array('class' => 'basic'))
                ));
        }
}









Reply via email to