Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/04/2011, 12h05   #1
Membre du Club
 
Inscription : mars 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 116
Points : 52
Points : 52
Par défaut gestion menu et arborescence: ordre

bonjour,
j'ai donc une arborescence comme suit pour mon site:
Code :
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 :
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
BlindeKinder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 12h34   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
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 )
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 14h24   #3
Membre du Club
 
Inscription : mars 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 116
Points : 52
Points : 52
merci pour ta réponse:
Citation:
le niveau d'une catégorie peut être calculé
genre tout ce qui n'a pas de parent est de niveau 1?
Citation:
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.
BlindeKinder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 16h56   #4
Membre du Club
 
Inscription : mars 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 116
Points : 52
Points : 52
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.
BlindeKinder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 17h03   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
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 ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 11/05/2011, 17h13   #6
Membre du Club
 
Inscription : mars 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 116
Points : 52
Points : 52
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...
BlindeKinder est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h17.


 
 
 
 
Partenaires

Hébergement Web