Je développe une application avec CakePHP 2.3.2 et j'ai des problèmes avec la sélection d'une entrée dans un formulaire. Je crée un tableau, dans mon contrôleur, qui contient une liste d'états. Dans ma vue, je constate que lorsque j'utilise cette variable dans le champ 'options' de l'entrée, je n'obtiens aucune option de sélection. Si je fais un print_r sur la variable, dans la vue, je vois exactement ce que je pense devoir voir pour le champ 'options'. J'ai même essayé de copier cette sortie print_r et de la placer dans le champ "options" et la sélection de l'entrée fonctionne alors correctement.
Voici ce que j'ai
Dans le contrôleur
$options = 'array(1 => \'NSW\',2 => \'ACT\',3 => \'NT\');
$this->set('all_states, $options);
En vue
<?php
$options = $all_states;
echo $this->Form->create('Refine', array('url => '/ServiceDirectoryResults/view/refine'));
echo $this->Form->input('field' ,array(
'type' => 'select',
'label' => false,
'options' => $options
));
echo $this->Form->end('Refine Search');
?>
Lorsque j'exécute ce programme, je vois une sélection sans aucune option de sélection.
Si j'ajoute print_r($options) après echo $this->Form->end('Refine Search') ; je vois
array(1 => 'NSW',2 => 'ACT,3 => 'NT')
C'est ce à quoi je m'attendais puisque c'est le contenu de la variable $options qui était la variable $all_states passée par le contrôleur. Si je prends cette sortie du print_r et que je remplace la variable $option par celle-ci dans l'entrée select, le menu déroulant select fonctionne correctement et je vois les trois options. Pour une raison que je n'arrive pas à comprendre, la sélection fonctionne bien si je code en dur les options de sélection, mais elle ne fonctionne pas si je passe une variable contenant le tableau à l'entrée de la sélection.
J'apprécierais vraiment que quelqu'un me donne un indice sur ce que je fais de travers.
Cordialement, je vous prie d'agréer, Madame, Monsieur, l'expression de mes salutations distinguées.
Richard