Automatização de tabindex com Zend_Form


Olá pessoal.

Para este primeiro post no blog, mostrarei um simples exemplo de como adicionar uma funcionalidade trivial no componente Zend_Form do ZF.

Basicamente, o que fiz é extender a classe Zend_Form e sobrepor o método addElement. Este método adiciona um novo elemento ao Zend_Form e seta o atributo tabindex se este não estiver setado anteriormente.


class MyForm extends Zend_Form {

private $_elementTabindex = 1;

public function addElement($element, $name = null, $options = null) {

parent::addElement($element, $name, $options);

if (null !== $name) {
$element = $this->getElement($name);
}

if (!isset($element->tabindex)) {
$element->tabindex = $this->_elementTabindex++;
}

return $element;

}

}

Este foi post, na verdade, foi para me familiarizar com a ferramenta Worpress. Estou preparando materiais para outros posts mais “robustos”. Pretendo escrever algo sobre ZF e jQuery.

Aguardem!

:)

,

  1. #1 by Samarone Lopes at June 8th, 2009

    Interessante seus posts sobre ZF, parabens pela iniciativa. Uma questao: Para que adicionar esse tabindex nos elementos? E sobre o jQuery Flexigrid, poderia disponibilizar o codigo no github.com ? Assim eu poderia contribuir contigo. Abraco

  2. #2 by martin at August 26th, 2009

    Hi !

    Just a detail, when you add a token, it is not necessarry to add a tabindex, so a test like that is better :

    if ($element->getType() !== ‘Zend_Form_Element_Hash’ && !isset($element->tabindex)) {
    $element->tabindex = $this->_elementTabindex++;
    }

  3. #3 by Tales at September 8th, 2009

    Hi Martin,

    only some elements need of tabindex attribute, and therefore his comment is completely valid.

    Cheers

(will not be published)
  1. No trackbacks yet.