No meu dia a dia de trabalho de integração, preciso renderizar formulários ZF2. E a renderização padrão para uma caixa de seleção formElement era rótulo após caixa de seleção. Portanto, você não pode clicar no rótulo para selecionar a caixa de seleção … WTF?!
Aqui está como eu lido com isso:
<?= $this->formlabel()->openTag($form->get('acceptTerms')) ?>
<?= $this->formcheckbox($form->get('acceptTerms')) ?>
<?= $this->translate($form->get('acceptTerms')->getLabel()) ?>
<?= $this->formlabel()->closeTag($form->get('acceptTerms')) ?>
Vamos deixar claro, também podemos estender o ‘formElement’ padrão e alterá-lo de acordo com nossas necessidades, mas, para um integrador de front-end, é uma boa maneira de lidar com componentes padrão.
Vamos ver o que estamos fazendo:
<?= $this->formlabel()->openTag($form->get('acceptTerms')) ?>
Aqui nós abrimos a <label>
tag
<?= $this->formcheckbox($form->get('acceptTerms')) ?>
Aqui nós renderizamos o elemento checkbox
<?= $this->translate($form->get('acceptTerms')->getLabel()) ?>
e o texto do rótulo com a tradução
<?= $this->formlabel()->closeTag($form->get('acceptTerms')) ?>
e fechamos a <label>
tag.
É isso aí 🙂