Bonjour, bonsoir!

Voilà j'ai un petit problème avec cakephp et les layouts, en fait j'ai ma page par défaut qui contient une carte de la France avec les régions jusque là pas de souci, seulement quand on clique sur une région j'aimerais que ça nous envoie sur une autre page en fonction de la région sélectionnée dois-je fais un lien dur avec une nouvelle layout?
Ex: Layouts/carte34.ctp Ou c'est possible de créer un attribut qui sera récupéré un _GET avec une layout générique?

J'en profite aussi pour demander comment afficher une layout différente selon si la personne est connectée ou non (sans changer l'adresse de cette vue)
Ex: j'ai une page qui affiche des posts, si on est membre et connecté on peut envoyer un message privé, si pas connecté le bouton "message" ne s'affiche pas.

Merci à vous!

4 réponses


Hotgeart
Réponse acceptée

1- Tu peux surement faire une condition si le param get x existe tu charges le layout a sinon le b (voir formation pour utilisation du layout.).

2- Tu ne dois pas faire plusieurs layouts... tu dois tester si tu as la session user id (voir formation cake).

Hotgeart
Réponse acceptée
<?php
Charger un layout dans le controller :
public function index() {
    $this->layout = 'a';
}
Dans une vue :
$this->layout = 'a';

if($this->Session->read('Auth.User.id')){
    echo 'Tu es connecté j\'affiche le bouton';
} else {
    echo 'Tu es un inconnu je ne te parle pas je n\'affiche pas le bouton';
}
?>
Grimp
Auteur

Merci de la réponse rapide!
J'ai suivi la formation en entier il y a quelque temps mais, je ne me souviens pas du tout de cela, peux tu me dire dans quelle catégorie voir?

Grimp
Auteur

Merci !