Bonjour,

J'ai suivi le tuto "faire un site avec cakephp" et je me demande comment ajouter un menu dynamique (je ne parle pas de la mise en forme mais juste de la façon de faire en php). J'aimerai pouvoir gérer mes menus à la façon de Wordpress, c'est à dire pouvoir créer plusieurs menus.
Pour chaque menus, pouvoir associer des pages, des articles ou des liens externes. Et j'aimerai pouvoir hiérarchiser les pages (parents, enfants)

Que me conseillez vous ? faire une table "menus" contenant les différents menus et une table menu_items pour stocker les liens de chaque menu ? et un treebehavior ? Je suis un peu pommé pour trouver la façon de faire la plus souple. Merci par avance pour vos conseils

1 réponse


Je penses que le treebehavior serait la solution.

la dans l immédiat sans reflechir je penses qu'il serait bon de faire une table "Menu"

CREATE TABLE menus (
    id,
    name,
    parent_id, (voir tuto treebehavio du pourquoi de ce champ),
    link, (lien associé au menu)
    lft,
    rght,
);

A partir de la à mon avis tu pourras creer autant de menu et sous menu que tu le voudras, étant donnée que chaque parent sera le titre de ton menu si on peut dire

exemple:

0 -> Menu principal
-- 2 -> Sous menu principal 1
-- 3 -> Sous menu principal 2
4 -> Sidebar gauche
-- 5 -> Sous Sidebar gauche 1
------ 6 -> Sous sous Sidebar gauche 1
-- 7 -> Sous Sidebar gauche 2
etc ...

Apres pour la position etc je te laisse regarder le tuto sur le treebehavior.