Modéré par : Skippy bmag jpb 
Index du Forum » » Modifications ou correction de thèmes existants » » [Résolu] - Uniformisation du menu des thèmes
2 pages [ 1 | 2 ]
Auteur[Résolu] - Uniformisation du menu des thèmes
philguen
95    

philguen
  Posté : 19-05-2012 17:36

Bon c'est fait

Sur le site cyclos-descartes.org tous les thèmes proposés utilisent un fichier texte pour fabriquer leur menu. Avantages, les menus sont identiques et pour les modifier, une seule écriture pour les 8 thèmes proposés.

Le rêve serait que tous les thèmes soient articulés ainsi. Bien du travail en moins en cas de changement de thème et/ou lorsqu'on laisse le choix aux utilisateurs.

Pour ceux que ca intéresse, voici le code sans aucun doute perfectible.

en début de header.html


<?php
//lecture du fichier texte contenant les  ;choix du menu
if (file_exists("./themes/menu.txt")){
    
$f = fopen("./themes/menu.txt", "r");
    
$num_choix = 0;
    while (!feof(
$f)) {
        
$num_choix++;
        
$choixmenu[$num_choix] = fgets($f);  
    }
    fclose(
$f);
} else {
die("Menu non trouvé");
}    
?>




et au niveau de la confection du menu



<?php
   
for($j=1;$j $num_choix+1;$j++) 
   { 
       
$menu explode("|", $choixmenu[$j]);
       if (autorisation(
$menu[2]))
       {    
?>
<A href='<?php echo 
$menu[1] ?>'><b><?php echo $menu[0] ?></b></A>      &nb sp;          <?php
    }
   }
?>    




Bien évidemment quelques thèmes "spéciaux" (par ex: exagone) ne ce sont pas contentés d'une simple boucle, mais ce n'est pas la majorité des cas.

  Profil  
colonelwog
286     
 ModulesTeam (TMT)

colonelwog
  Posté : 19-05-2012 23:10

pourquoi ne pas créer un module pour cela ?
éditer un menu ...soit en sql soit en txt je pense que Ji donnera le choix pour le txt pour éviter des demandes à la base ?

  Profil  
philguen
95    

philguen
  Posté : 20-05-2012 00:00

Citation : colonelwog 

pourquoi ne pas créer un module pour cela ?
éditer un menu ...soit en sql soit en txt je pense que Ji donnera le choix pour le txt pour éviter des demandes à la base ? 


slt colonel

Je ne vois pas bien pourquoi/comment créer un module pour ca. Peux-tu m'expliquer ton idée.

En fait, l'idéal serait, comme je l'ai suggéré sur NPDS, que ce CMS soit livré avec TOUS les modules qui sont validés (quand je pense qu'il n'est même pas livré avec une gestion d'albums photos), que l'administrateur validerait les modules qu'il souhaite utiliser ce qui générerait une table (ou un txt) dont se serviraient les thèmes pour créer leurs menus.

En tous cas si mon idée est intéressante, je veux bien, petit à petit, me charger de la modification des thèmes existants pour l'implémenter.

  Profil  
colonelwog
286     
 ModulesTeam (TMT)

colonelwog
  Posté : 20-05-2012 00:46

en fait avoir un système qui édite ton fichier txt tout simplement ce qui du coup te permttrai d'avoir encore plus de souplesse dans le thème pour ce qui n'y connaisse rien ...

  Profil  
bmag
290     
 Styles Team (TST)

bmag
  Posté : 20-05-2012 16:45

salut Philguen

"Le rêve serait que tous les thèmes soient articulés ainsi. Bien du travail en moins en cas de changement de thème et/ou lorsqu'on laisse le choix aux utilisateurs. "

J'avoue que l'idée m'interpelle mais je ne suis pas sur de comprendre le but recherché.

Ai je bien compris ?

Tout les themes vont avoir le meme type de menu ?
Un menu déroulant horizontal avec des sous menu en colonnes?




  Profil  www  
colonelwog
286     
 ModulesTeam (TMT)

colonelwog
  Posté : 20-05-2012 18:53

non en fait d’après ce que moi j'ai compris ,c'est l'appel d'un fichier txt ou seront mis les liens ,du coup éditions du menu plus facile sans avoir à toucher au code html ^^ ,est ce bien cela Phil ?

  Profil  
jireck
118     
 Dev Team (TNT)

jireck
  Posté : 20-05-2012 21:00

bonjour tout le monde,

voila le genre de réflexion que j'aime...
qui amène des interactions.

La réflexion est bonne car elle part du besoin, amène une solution (discutable d’ailleurs).

Voila mon avis de personne connaissant bien npds et les divers solutions que je vois et le point de vue sur la solution de phil.

le besoin : est d'avoir un même menu dans tous les thèmes

la solution de phil : un fichier txt, un script pas très claire, un bout de script dans le header.html.

pour ma part j'aurais tout de suite vu un meta mis dans le header.html

ou

une utilisation des !include! de theme avec header_head.inc et header_after.inc et un bout de script dans le header.html.

ou d'autres, la premiere solution me semble la meilleur.

Il manque juste un tutos....

Mais on peux parler des divers solutions... qui peuvent etre adaquate dans certains cas ...

A vous la parole

  Profil  www  
Anonyme
53    

Anonyme
  Posté : 21-05-2012 07:03

Slt

C'est bien ce que je pensais on ne comprend pas tous la meme chose.

Un Meta pour les menu ho que oui ce serait génial.

Mais derrière cette idée, je ne vois pas la meme chose que vous.

Philguen à besoin d'avoir sur son site X themes donc le meme menu pour ses visiteurs.

Pour ma part, je pense qu'il faut "réserver" ds le header une place à un Metamot MENU qui permettrait à chacun d'y placer "son" type de menu quelque soit sa forme.

Pour moi ce n'est pas le contenu du menu qui est important c'est sa forme

Horizontal / vertical / simple niveau / niveau multiple / megamenu etc etc ....

bmag non loggé

  
philguen
95    

philguen
  Posté : 21-05-2012 07:54

Merci à vous deux de ces réflexions plus que positives.

=> B-mag : le pb initial n'est pas personnel (plusieurs thèmes sur cyclos-descartes.org => ca tournait ainsi depuis 4 ans) mais le constat que si un novice veut installer NPDS et utiliser un ou plusieurs des thèmes fournis, ou que simplement tu veuilles changer le thème de ton site, il est obligatoire d'entrer dans le code pour adapter le contenu dun menu. Souvent rébarbatif si on n'y connais rien. Le but est donc simplement de pouvoir utiliser n'importe quel thème pour son site sans avoir à "entrer" dedans.

Quand au type de menu, comme tu le dis si je te comprends bien, je pense qu'il fait partie du thème proposé ... donc on choisit son thème en tenant compte de ce qui est créé (présentation, couleurs ... et type de menu). Il me semble que ca compliquerait sacrément les choses si, à la conception d'un thème, il fallait penser que l'utilisateur peut choisir un menu horizontal, vertical, etc ...

=> Ji : tu le sais, je ne connais pas grand chose en programmation. J'ai donc fait en conséquence en partant également du principe que la modification soit indépendante de NPDS (ce qui ne serait pas le cas d'un méta-mot) et surtout que le fichier contenant les données du menu soit très facilement modifiable par tous d'où le fichier texte (on ne peut guère faire plus simple)... et comme le menu est codé dans header.html, il m'a semblé naturel que le bout de code soit également dans header.html (d'autant que la modification de certains thèmes comme exagone ne se contente pas d'une simple boucle).

Pour moi, c'est surtout le concept qu'il s'agit de mettre en place et bien évidement, toute solution qui arriverait à la même chose et qui serait mieux programmée est la bienvenue.

Une fois le concept aquis, il serait intéressant que les futurs thèmes soient conçus en en tenant compte (je pourrais me charger de l'implémentation dans les thèmes existants).


Message édité par : philguen / 21-05-2012 08:38


  Profil  
jireck
118     
 Dev Team (TNT)

jireck
  Posté : 21-05-2012 08:43

Salut tous les deux ...

le problème avec les menus c'est qu'ils sont tous differents.
Le problème n'est pas de bien ou mal codé ...

on vise donc a faire "quelque chose" pour gérer des choses différentes.

donc cela n'est pas possible ... du moins simplement.

annexe : Les meta sont par défaut indépendant du core ... tu peux tout faire faire a des metas c'est un moteur a transformer un mot en appel de fonction ou script (ton code) ou autre.

Il faut rester assez simple dans l’implémentation sinon le nouveau n'y arrivera pas.

premièrement le menu :
- quel code ? une simple serie de A, un list unordonned UL, des tableau ?
- quel css ? simple, 3, navigateur ?
- implementation : meta, code, etc ..

le plus simple pour moi c'est :
un meta "menu" ul li d'un niveau




avec la css

.nav {
xxx:xxx;
}



Il suffit ensuite de mettre le meta dans le header de chaque theme ...

  Profil  www  
bmag
290     
 Styles Team (TST)

bmag
  Posté : 21-05-2012 13:39

slt

Phil: oui je sais que c'est pas "perso" et toin fil de duscussion est exellent

Ji: oui un meta "menu du header" ce serait génial

Pour les deux: vous qui codez, le menu tres basique que j'ai mis ds TZAMOI, si vous arrivez en en faire un meta, il y aura juste à changer sa CSS pour lui faire changer d'aspect ?

  Profil  www  
philguen
95    

philguen
  Posté : 21-05-2012 20:16

oula !!! vous êtes partis loin ... ca dépasse ce que j'envisageais mais super intéressant.

Au départ, mon idée était simplement que tous les thèmes puissent se référer à une seule base d'informations (table sql, fichier, etc ... mais donc extérieure au thème et commune à tous les thèmes) pour construire le contenu de leurs menus (quelque soient la forme et le type du menu). Cette base d'information doit être très facilement accessible et modifiable par le créateur du site, sans connaître un mot de code, soit à partir du panneau d'administration de NPDS, soit autrement (comme ce que j'ai fait en éditant un simple fichier texte).

Ca j'arrivai à l’appréhender et imaginais à peu près comment faire (merci B-Mag, mais je ne suis pas un codeur...juste un bidouilleur )

Vous, vous voyez encore plus loin et pour le coup j'ai du mal. Comment uniformiser les menus pour que ca fonctionne aussi bien avec "exagone" qu'avec mouse-bmag ... je n'ai même pas la moitié d'une idée .

Alors, bien sur on peut créer un méta-mot, mais il me semble qu'il sera obligatoirement limité à un type du menu (horizontal, vertical, etc...) et sera difficilement utilisable pour des thèmes originaux (exagone et d'autres)... et ca ne résoud pas le problème de l'uniformisation/automatisation du contenu.

Ai-je bon dans mon analyse?





  Profil  
jireck
118     
 Dev Team (TNT)

jireck
  Posté : 21-05-2012 23:30

tres bien le menu bmag...

A mettre aussi dans le theme zero... en splitant structure et code et en commentant bien ...

phil: le menu est ce qui a de plus simple...

Apres il faut connaitre un minimum pour faire un site internet personnaliser sinon on ne modifie pas les theme ...

pour le meta, en utilisant la console meta c'est simple a creer...
oui / non bmag / phil ?? apres reste la css

  Profil  www  
philguen
95    

philguen
  Posté : 22-05-2012 07:48

Citation : jireck 


Apres il faut connaitre un minimum pour faire un site internet personnaliser sinon on ne modifie pas les theme ...



C'est la où je ne suis pas d'accord ... à l'époque où tout le monde fait son site/blog, on doit pouvoir choisir un thème sans avoir à recoder le menu. Pratiquement tous les CSS ou blog, comme GUPPY ou PHPBOOST, pourtant largement moins bien, sont ainsi : tu changes de thème ... ca conserve ton menu... en plus, ce n'est pas compliqué à implémenter ... il suffit de décréter une norme.

Mais nous rejoignons un fil qui existe déjà sur NPDS... donc pas la peine de redévelopper ici.

Je regarde si j'arrive à faire un méta-mot

  Profil  
philguen
95    

philguen
  Posté : 22-05-2012 07:55

Citation : bmag 

salut Philguen

"Le rêve serait que tous les thèmes soient articulés ainsi. Bien du travail en moins en cas de changement de thème et/ou lorsqu'on laisse le choix aux utilisateurs. "

J'avoue que l'idée m'interpelle mais je ne suis pas sur de comprendre le but recherché.

Ai je bien compris ?

Tout les themes vont avoir le meme type de menu ?
Un menu déroulant horizontal avec des sous menu en colonnes?



 


oups ... j'avais loupé ce post.

Non B-mag ce n'est pas ca ... il est vrai que le titre de mon post n'est pas explicite.

Ce que j'aurais souhaité, c'est une uniformisation du contenu des menus et surtout un moyen que ce contenu puisse être repris par tous les thèmes sans rien changer. La forme du menu doit pouvoir rester diverse. Ce que j'ai proposé, sans doute améliorable, fonctionne aussi bien avec Marina que exagone. En fait, au lieu de coder en dur "Accueil", "Forum", etc (et les liens qui vont bien) ont utilise des variables qui sont "alimentées" par un fichier ou une table.

  Profil  
philguen
95    

philguen
  Posté : 22-05-2012 07:56

Citation : colonelwog 

non en fait d’après ce que moi j'ai compris ,c'est l'appel d'un fichier txt ou seront mis les liens ,du coup éditions du menu plus facile sans avoir à toucher au code html ^^ ,est ce bien cela Phil ? 


voui exactement

  Profil  
Anonyme
53    

Anonyme
  Posté : 22-05-2012 18:57

slt

ca y est j'ai pigé l'idée de Philguen:
Tres tres bonne idée, je l'ai pigé quand tu as mis en exemple ce que fait guppy ou autre.

J'y adhere à 100% bien que je sais quelle somme de boulot ca va vous demander.

Maintenant, n'étant gouré au début, l'idée d'un metamot me parrait malgres tout tres séduisantes pour placer son menu ds le header.

Certe il sera impossible de proposer toutes les formes de menu sans mettre les mains ds le camboui, mais je suis sur qu'il y a une idée a creuser, quitte à se lancer ds 3/4 "metamenu"
une Navbar classique
une déroulante verticalement
une 3eme horizontale deux niveaux horizontaux (tabmenu je crois, ma préféré)

Avec ça on couvre 95% des présentations; j'en reviens au travail de Skippi ici qui avait fait une rubrique sur les menu.

Phil, Ji, vous avez mis le doigt sur quelque chose de potentielement tres tres interressant et qui devrait amener un plus pour npds

Mon probleme est que clairement derrière les idées je ne vois ni la faisabilité ni le travail que cela représente

encore Bmag non loggé

  
jireck
118     
 Dev Team (TNT)

jireck
  Posté : 22-05-2012 23:15

il faut juste bien definir le resultat a obtenir car là ...

je ne comprends pas tout ..

  Profil  www  
philguen
95    

philguen
  Posté : 23-05-2012 09:09

Citation : jireck 

il faut juste bien definir le resultat a obtenir car là ...

je ne comprends pas tout ..
 


Oui c'est sur ... je pense que c'est de ma faute car mon titre n'était pas correctement explicite... le mot exact aurait dû être "portabilité"

Mon idée de départ : Tous les thèmes se référaient à un fichier ou à une table pour "fabriquer" le contenu des CHOIX (Libellés, liens, autorisations)de leurs menus (sans rien changer au style ni à la forme qui existe déjà). => avantage portabilité des thèmes sans avoir à entrer dans le code. Juste le fichier ou la table à modifier quand on crée son site. Si on choisit la table, il me semble nécessaire que ce système soit directement implanter "à la livraison" dans NPDS avec une gestion dans le menu admin. Avec un fichier texte, on peut totalement rester indépendant de NPDS.

Si j'ai bien tout compris, les idées qui en ont découlées tendent vers une uniformisation des menus eux-mêmes avec appel par un méta-mot. Et donc, si je comprends toujours bien ce que veut dire B-mag, il sera sans doute plus facile de faire plusieurs méta-mots en fonction du type de menu (horizontal, vertical, etc...).

Ces deux idées sont indépendantes l'une de l'autre et peuvent être implémentées séparément (ou pas).

Je ne sais pas si j'aurais le temps aujourd'hui, mais je vais regarder comment faire un méta-mot "de base". Ji nous donnera ensuite les conseils qui vont bien.

  Profil  
jpb
12   
 Dev Team (TNT)

jpb
  Posté : 23-05-2012 09:30

Yo
Je ne veux pas faire le rabat joie mais le système enfin la logique que vous décrivez existe déjà elle s'appelle main bloc ... (juste pour dire que un menu sur npds peut etre identique sur tous les thèmes...) alors oui il s'applique au menu historique qui est dans un bloc...
Donc pour des menus qui sont situé ailleurs que dans les blocs
je pense qu'une des pistes est de justement s'appuyer sur cet espace de stockage vu qu'il existe... (main bloc ou un autre bloc...)
après y'a le traitement des informations contenu dans le bloc (soit récupération du bloc soit de son content uniquement)...
Mais comme dis jiji il ne sera pas possible de faire (simplement) quelque chose qui couvre tout les types de menus ...

Donc à mon sens un metamot à parametre peut fonctionner pour couvrir 2 ou 3 type de menu à condition qu'il récupère quelque chose de simple dans la base ( par exemple un ul li avec des classes) au métamot de mettre ensuite en forme en utilisant ou pas les clasess avec différentes feuilles de style ou js si nécessaire...

  Profil  www  
Aller à la page : [ 1 | 2 ]
Sauter à :