Hola,
Mon soucis aujourd'hui ne concerne pas forcément Cake php à 100%, mais comme je développe dessus, je préfère poster ici.
En fait j'ai 2 pages : une page estimation et une page prestation.
Dans ma page prestation sont décrites l'ensemble des prestations proposées. Chacune de ces description contient un lien Estimation. Ce dernier renvoie vers la page estimation. Cette dernière permet l'estimation des différentes prestations et le choix s'effectue avec un formulaire select :

<?php echo $this->Form->input(null, array(
                                    'label' => false,
                                    'name' => 'estimationChoice',
                                    'onchange'=>'onChange()',
                                    'class' => 'original_choice',
'options' => array( 
                'pain' =>'Pain',
                'croissant'=>'Croissant',
                'Choco'=>'Choco',
                ...),
        ));?>
  $this->form->end();      

et le lien de la page prestation :

<?php echo $this->Html->link('Faire une estimation',array('controller'=>'Estimations'),array('class'=>'boutonDevis'));?>

Et voici ma question :
Comment puis-je définir le SELECT de mon formulaire de la page estimation en fonction de la prestation consultée ?
Je sais pas si je suis bine clair.

Merci à vous par avance

6 réponses


digaburla
Auteur
Réponse acceptée

Bon je me rencontre que j'ai dis nimp précédement.
Du coup pour passer mes infos, je l 'ai fait à l'aide d'un paramètre GET

<?php echo $this->Html->link('Faire une estimation',array('controller'=>'Estimations','page' => $services[$id]['Service']['title']),array('class'=>'boutonDevis'));?>

et je récupère dans mon controller

$this->params['named']['page'];

Voilou, du coup je peux définir ma variable $default en fonction du paramêtre !

Avez vous une contre-indication à l'utilisation de cette solution ?
A priori cela foinctionne correctement

Bonne journée

Bonjour,

pour chaque méthode concernée dans le controller correspondant, tu stoques et transmets une variable contanenant la valeur qui doit être selectionnée dans le select. Puis dans ta vue tu utilises cette variable pour selectionner le bon élement.

Bon courage.

C'est ce que je suis en train de faire mais je bloques sur un truc.
Dans mon controlleur Prestation je défini dans 2 méthodes ma variable $défault

 function index() {
 .....
 $default ='pain';
$this->set('default',$default);
 }

 function biscotte() {
 .....
 $default ='biscotte';
$this->set('default',$default);
 }

Si j'ai bien compris je dois récupérer $default dans mon EstimationsController

Enfin je l'envoie à ma vue ou ce trouve le formulaire :

'options' => array( 
                'pain' =>'Pain',
                'croissant'=>'Croissant',
                'Choco'=>'Choco',
                'default'=>$default, (ici le select sur lequel dois se mettre le formulaire par défaut)
                ),
        ));?>

Ma question est donc : comment je fais pour transmettre les donnée de $default (provenant du prestationsController à celui d'EstimationController ?

DoiS-je utiliser un
$this->redirect(index,$defaut);
pour passer ma variable?
Merci

Bonjour,

C'est une solution également. Il n'y a pas de solution parfaite, il n'y a que des solutions adaptées à tes besoins. Tu verras bien par la suite si tu dois le modifier :)

Bon courage !

Oki merci, et surtout reste connecté ;))