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
Bonjour à tous,
Je voudrais m'expliquer , je veux pouvoir styliser session->flash pour pouvoir benificer de style de bootstrap.
Merci Gynidark pour le lien,
mais je n'ai pas vu sa relation avec ma question, certainement il rèpond à ma question.
Cordialement
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
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.