Bonjour tous le monde !!

Je veux transférer une variable vers une vue via render cakephp, s'il y a une méthode de faire ça et merci

2 réponses


aimad123
Auteur

oui mais le problème que j'ai besoin d'une variable dans une autre vue alors je suis obligé de la stocker dans la Session et le problème que la variable conserve toujours la même valeur

Bonsoir.
Si l'action de ton controller ne transmet la variable qu'à la vue en question, tu fais simplement :

public function tonAction() {
    /** ton code
    * préalable
    **/
    $this->set(compact('taVariable'));
    $this->render('ta_vue');
}

Si ce n'est pas le cas et que la fonction dessert l'action courante, tu fais avec un requestAction.
Exemple :

public function tonAction() {
    /** ton code
    * préalable
    **/
    return $taVariable;
}

Puis dans la vue en question :

<?php $taVariable = $this->requestAction(array('controller' => 'tonController', 'action' => 'tonAction')); ?>

Tu disposes maintenant de la variable depuis la vue en question.