passer un message du controller à la vue

Par Isselmoumg, il y a 10 ans


Bonjour,
j'ai une fonction au sein de mon controller, cette fonction discute deux cas, et selon le resultat de la discution on doit rediriger vers une vue donné avec un message donné ,
c'est pourcela j'ai utiliser le code suivant au niveau du controller

if ($boll) { // $this->Session->setFlash('The employee has been saved '.$file['name'].' Oui'); $message="L'article a été bien enrigstré avec success"; $message='<div class="alert alert-success">'.$message.'</div>'; $this->set(compact('message')); $this->redirect(array('controller'=>'posts','action' => 'index')); } else { // $this->Session->setFlash('The employee could not be saved. Please, try again.'); $message="Echec lors de l'enregistrement"; $message='<div class="alert">'.$message.'</div>'; $this->set(compact('message')); }

et au niveau de la vue index

<?php if(isset($message)) : ?> <?php echo $message; ?> <?php endif ?>

mais rien n'est pas passé...... y'a t il une erreur
?
merci à l'avance

4 réponses

Isselmoumg, il y a 10 ans

Merci Gynidark pour le lien,
mais je n'ai pas vu sa relation avec ma question, certainement il rèpond à ma question.
Cordialement

Isselmoumg, il y a 10 ans

Bonjour à tous,

Je voudrais m'expliquer , je veux pouvoir styliser session->flash pour pouvoir benificer de style de bootstrap.

Isselmoumg, il y a 10 ans

Bonjour,
J'ai utiliser session pour pouvoir passer le message du controller à la vue, avec le code suivant :

$this->Session->write('message', $message);

et au nivau de la vu, on m'affiche l'erreur suivante :

Error: Call to a member function write() on a non-object File: C:\wamp\www\cakephpboot\app\Controller\PostsController.php Line: 91

Cordialement

Lartak, il y a 10 ans

Bonsoir.
L'erreur te dit tout simplement que tu utilises un objet qui n'est pas connu/chargé.
Penses à charger le composant Session dans ton AppController :

public $components = [/** tes autres composants **/, 'Session'];

Sinon, Gynidark a répondu à ta question, tu peux créer des templates pour les messages de sessions, sauf qu'il s'est trompé de version de CakePHP, regardes plutôt ici : Création de messages de notification.