IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

gestion menu et arborescence: ordre


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut gestion menu et arborescence: ordre
    bonjour,
    j'ai donc une arborescence comme suit pour mon site:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    -item niv 1
    -item niv 1
     -item niv 2
     -item niv 2
    -item niv 1
     -item niv 2
    puis des pages 'volantes' niveau 0
    Pour la db, une table 'pages' (mysql):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom_page | niveau_page (0,1,2) | nom_parent (celui de nom_page) | ordre (pour les pages niveau 1 uniquement)
    Je ne sais pas si c'est la meilleures solution, mais en tout les cas je ne trouve pas de moyen efficace pour gérer l'ordre du menu principal (les item niveau 1)... ça peut être très simple avec des + et - pour monter et descendre un item (c'est là que j'en suis)
    merci d'avance

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Il vaut mieux un découpage en sections et en catégories, de plus le niveau d'une catégorie peut être calculé donc le champ "niveau_page" est un usage, si tu peux t'en passer c'est mieux.

    Les pages sont-elles statiques ou sont-elles une représentation logique de vues dynamiques ? Dans le premier cas, inutile d'avoir recours à MySQL pour déterminer l'ordre d'apparence d'une entrée dans le menu, tu peux faire ça avec des fichier ini ou xml par exemple.

    De plus, si tu utilise un XML pour décrire les pages de ton site, tu peux t'en servir pour générer le sitemap avec un XSLT (tu fais ton XML perso pour décrire tes pages, leur ordre etc. et tu fais un XSLT pour le menu et un un pour le sitemap - un coup de mise en cache et hop )

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    merci pour ta réponse:
    le niveau d'une catégorie peut être calculé
    genre tout ce qui n'a pas de parent est de niveau 1?
    Les pages sont-elles statiques ou sont-elles une représentation logique de vues dynamiques ?
    Elles sont dynamiques, les contenus de différent champs, timestamps d'update, titres et autres se trouvent dans la même table, je les ai omis pour alléger. Elles doivent pouvoir être modifiable/supprimable/créable facilement (ce qui est déjà plus ou moins en place), et j'ai un index.php qui appelle les contenus.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    Bon,
    finalement, j'affiche l'arborescence avec une liste <ul> à deux dimension, sous forme de formulaire, avec un ou deux submits ( + ou/et - ) par item, en numérotant tous les items et sub-items dans un champ caché... les plus et moins ne font qu'intervertir deux items dans la liste ou la sous-liste, puis j'Update la colonne 'order' de tous les items de la table...
    je sais pas si c'est le mieux mais ça marche bien.

  5. #5
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Est-ce que par hasard je t'aurais pas scandaleusement abandonné à ton sort pendant 15j ?? Honte sur moi...

    Content que tu ais trouvé la réponse, la description que tu as fait semble convenir, c'est l'essentiel. Maintenant, si tu veux rendre tout ça un peu plus sexy, pourquoi ne pas aller jeter un oeil du coté de jQuery ui ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    ah oui, c'est plus joli... bon, dans la mesure où je ne suis pas familier avec jQuery et que c'est juste pour l'interface d'admin d'un petit site, je ne me lance pas cette fois...
    Merci quand même...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réorganiser le menu programme par ordre alphabétique
    Par koKoTis dans le forum Windows XP
    Réponses: 2
    Dernier message: 31/05/2007, 09h40
  2. Gestion menu sous access
    Par PapouDomi dans le forum Runtime
    Réponses: 9
    Dernier message: 05/03/2007, 18h14
  3. Menu en arborescence
    Par maty2006 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/05/2006, 19h30
  4. Gestion de l'arborescence sur un serveur distant
    Par Seth77 dans le forum Langage
    Réponses: 5
    Dernier message: 13/03/2006, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo