Bonjour à tous!

Alors voilà. J'ai bien suivit le tuto sur CakePHP. Cependant il est montré que la page d'accueil du site contient une liste d'éléments des news.

Pour ma part, mon site comporte des pages et chaque pages contient un ou plusieurs contenus. Cependant pour ma page d'accueil je veux pouvoir mettre les information de la page en base pour qu'ils puissent êtres mis à jour par l'utilisateur. Donc au niveau du route, je veux mettre donc dans l'url l'id 1 qui correspond à la page d'accueil dans la base. Mais je ne veux pas que ça soit affiché dans l'url.

Une idée?

6 réponses


slyvaan
Réponse acceptée

Pas trop compris. Tu veux récupérer les infos de quelque chose qui a toujours l'id = 1 ?
Si oui tu n'as qu'à faire une requestAction ou carrément refaire la requête dans ton controller accueil. Pas besoin de mettre 1 dans l'url.
Sinon tu peux ajouter 'id' => 1, dans ta route, pour définir que l'id c'est 1 par défaut si elle n'est pas précisée. Comme ça si elle est précisé il pourrait aller chercher d'autres informations.

Ben tu peux dans le Router::url('/' ... tu peux le faire

Salut Ciloe Si tu as bien suivi le tuto

Dans le fichier route dans le repertoire Config tu as la ligne suivante

/**
    * Routing page d'acceuil du site
    **/
    Router::connect('/', array('controller' => 'posts', 'action' => 'index'));

Il faut donc modifier cette ligne pour modifier t' as page d'acceuil

Ciloe
Auteur

Oui, mais seulement, j'aimerais que mon url ressemble à monsite.fr, et non à monsite.fr/accueil-1

J'ai donc regardé la doc de Router pour voir si il pouvait réécrit l'url après avoir envoyé les informations au client, donc appliquer une sorte de masque, mais je n'ai pas trouvé.

Ciloe
Auteur

Dans ce cas, il faut que je fasse attention que la page avec l'id 1 ne soit jamais supprimée.

Oui je comprend le truc. Je voulais en fait trouver un moyen qui retrouve la page d'accueil, même si elle a été supprimée sans la vouloir.

Mais ça sera plus simple comme tu dis, en appliquant une nomenclature pour avoir l'id 1 dans la base qui ne puisse jamais être supprimée.

Merci, et désolé pour la question un peut bête ^^

Ou alors tu créer un controller accueil ainsi qu'une vu et go tu dirige vers cette action