J'ai un Zend_Form avec une case à cocher:Peupler une case à cocher lors de l'utilisation d'un décorateur viewScript dans Zend Form
$horz = new Zend_Form_Element_Checkbox('horizontal');
$horz->setLabel('Display horizontally?');
$horz->setDecorators(array(array('ViewScript', array('viewScript' => 'partials/forms/checkbox.phtml'))));
Ma coutume viewScript checkbox.phtml ressemble à ceci:
<?php
$name = $this->element->getName();
$attrs = $this->element->getAttribs();
$options = $attrs['options'];
?>
<dt id="<?= $name ?>-element">
<input type="hidden" value="<?= $options['uncheckedValue'] ?>" name="<?= $name ?>" />
<label>
<input type="checkbox" class="checkbox" value="<?= $this->element->getValue() ?>" id="<?= $this->element->getId() ?>" name="<?= $name ?>">
<?= $this->element->getLabel(); ?>
</label>
</dt>
Il rend magnifiquement, mais lorsque je remplis le formulaire à partir d'un enregistrement de base de données:
$record = array('horizontal'=>1);
$form->populate($record);
La case à cocher n'est pas cochée. Y a-t-il quelque chose que je dois définir dans mon viewScript pour lui permettre de peupler?