Example #1
0
 /**
  * Static function that adds all the elements in 1 wrapping element instead of dt, dd structure
  *
  * @param $elm
  * @return void
  */
 public static function setElementDecorator(Zend_Form_Element $elm)
 {
     $elm->addPrefixPath('Glitch_Form_Decorator', 'Glitch/Form/Decorator/', 'decorator');
     $labelSettings = array();
     if ($elm->getDecorator('Label')) {
         $labelSettings = $elm->getDecorator('Label')->getOptions();
         unset($labelSettings['tag']);
         //Tag should never be needed when you call this method
     }
     $class = 'wrapper';
     if ($elm->getAttrib('wrapperClass')) {
         $class .= ' ' . $elm->getAttrib('wrapperClass');
         $elm->setAttrib('wrapperClass', null);
     }
     if ($elm instanceof Zend_Form_Element_Hidden) {
         $class .= ' hidden';
     }
     $elm->clearDecorators()->addDecorator('Label', $labelSettings)->addDecorator('ViewHelper')->addDecorator('Description', array('escape' => false))->addDecorator('Errors')->addDecorator('Wrapper', array('tag' => 'div', 'id' => $elm->getName() . '-wrapper', 'class' => $class));
     if ($elm instanceof Zend_Form_Element_Submit) {
         $elm->removeDecorator('Label');
     }
 }
Example #2
0
 /**
  * Retorna as classes CSS de Decorator de um Zend_Form_Element quando fornecido 
  * OU do proprio elemento por padrĂ£o
  *
  * @param Zend_Form_Element $element
  * @return array
  * @author Jhonatan Morais <*****@*****.**>
  */
 protected function _getClassNamesFromDecorator($decoratorName, Zend_Form_Element $element = null)
 {
     if (null !== $element) {
         return explode(' ', $element->getDecorator($decoratorName)->getOption('class'));
     }
     //Jdebug($decoratorName);
     return explode(' ', $this->getDecorator($decoratorName)->getOption('class'));
 }
Example #3
0
 /**
  * Retorna um array com as classes CSS utilizadas em um Zend_Form_Element
  * @param Zend_Form_Element $element elemento a ser consultado
  * @return array Retorna um array com cada classe encontrada
  * @author Jhonatan Morais <*****@*****.**>
  */
 public function getCssClass(Zend_Form_Element $element, $fromDecorator = null)
 {
     if (is_null($fromDecorator)) {
         return explode(' ', $element->getAttrib('class'));
     }
     return explode(' ', $element->getDecorator($fromDecorator)->getOption('class'));
 }
 /**
  * Set an error class into element HtmlTag decorator
  *
  * @param Zend_Form_Element $element    Element to 'decorate' for the error.
  * @param string            $styleClass CSS class name.
  *
  * @return void
  */
 protected function setClassToAnElement(Zend_Form_Element $element, $styleClass)
 {
     $htmlTagDecorator = $element->getDecorator('HtmlTag');
     if (!empty($htmlTagDecorator)) {
         $class = $htmlTagDecorator->getOption('class');
         $htmlTagDecorator->setOption('class', $class . ' ' . $styleClass);
     }
 }