Je désir avoir un affichages d'un rendu pas une redirection ....
Bonjour voila ce que j'aimerait faire , j'ai un composant qui ce charge dans mon controller celui-ci
public function beforeRender(Controller $Controller)
{
if($this->_protocoles=='ajax')
{
json_encode($this->_set['data']);
exit();
}
/////////////////////////:: protocole [http]
$Controller->render('error/ma_page');
}
Seulement le render me renvoit un belle pages blanches
un this->render() fonctionne a partir de mon controller
même si mon objectif , n'est pas celui-ci vu que j'ai obligatoirement besoin de gérez mon render depuis le composants !
Est ce possibles ?
Merci , bonne journée a vous
5 réponses
Salut,
Si tu veux renvoyer vers une erreur le mieux (et le plus sécurisé) est d'envoyé une exeption.
Pour simuler le fait que la page n'existe pas:
Tu peux aussi envoyer ForbiddenException ou autre
Si c'est pas que tu veux faire, il faut peut-être essayer d'ajouter un slash /:
Non ce n'est pas ca ....
Salut, regarde l'api plutot sur beforeRender() enfaite il permet de faire des traitement sur les données, je te conseille plutot d'utiliser http://api.cakephp.org/2.6/class-Component.html#_beforeRedirect
qui lui va te rediriger si tu lui retourne un tableau avec la clé en l'url (je suis pas sur)
Sa doit te rediriger vers la page demander, si tu veux pas que sa te redirige tu renvoie null
C'est bon j'ai trouvez la réponse , en faite c'était la partit shutdown dont il fallait ce servir
public function shutdown(Controller $Controller)
{
$Controller->render('Error/index_noResult');
}