[ Zend Framework ] – Como chamar um Helper dentro de um Form

Boa pergunta!

Você já ouviu dizer que o Zend_Form não tem disponível para uso direto o famoso “$this->view->…” que utilizamos para passar variáveis e objetos para o View de nossa aplicação, pois supostamente, acredito que ele não faça parte do View (risos). Pela lógica, a classe em si não precisaria uma vez que é possivel…

Sim, mas ai vem o caso, e se estou criando um formulário e quero utilizar um helper que ja criei antes? Neste caso, alguem poderia dizer para utilizar um view script para o form e aplicar lá dentro do arquivo em questão as chamadas aos helpers.

É faria sentido, pois ai sim é o lugar de se usar Views, só não faria sentido se eu não quiser ou precisar utilizar tal recurso!

Bom, então para os que depois de buscas e mais buscas sem respostas de como se fazer isto, ai vai a dica:

Preferencialmente no início de seu método init() da classe estendida do Zend_Form que você está criando, insira o seguinte código:


class Application_Form_MeuFormularioDoidao extends Zend_Form
{
    protected $_myhelper;

    public funcion init( )
   {
        $this->_myhelper = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
    }
}

E para chamar o seu Helper, apenas faça o que você já conhece:


$seiLaOque = $this->_myhelper->view->meuHelperBonzao();

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *