Vous n'êtes pas identifié(e).
Salut à tous, c'est la première fois que je post donc je me présente d'abord.
Rémi, je suis infographiste et j'utilise zite depuis un bon moment pour mes site... c'est vraiment excellent. si vous voulez voir quelques réalisation : www.dixit-rc.com.. .les commentaires seront les bienvenus.
J eme suis plongé depuis peu sur les discussions à propos des menus horizontaux et verticaux, et peut être ai je mal cherché mais n'ai pas trouvé la réponse que je souhaité, vous pourrez donc peut être m'aider.
Voila je cherche pour un site à avoir un menu horizontal et un menu vertical.
Pas de probleme pour l'affichage de l'un comme de l'autre grace à tous les scripts trouvés sur ce forum, bravo et merci à tous.
Le seul probleme, dont je ne crois pas encore avoir vu la solution, c'est que le menu horizontal et le vertical sont identique. En jouant sur le display on peut effectivement n'afficher par exemple que les menus de premier niveau dans le menu horizontal et les menus de second ou troisième niveau (sous menu ou sous sous menu) dans le menu vertical... ça fonctionne OK.
Seulement les sous menus "filles" ne s'affichent dans le menu vertical qu'à condition d'avoir sélectionner le menu parent correspondant.
Et en fait je souhaiterai avoir deux menus (un vertical et un horizontal) totalement indépendant et affichés en permanence.
J'ai bien compris que le fonctionnement interne de zite est prévu pour jouer sur le rapport menu "parent -fille" et qu'ils sont lies à leur place dans l'arborescence créée dans l'interface d'administration. N'étant pas un champion de la programmation je ne vois pas comment faire pour résoudre mon probleme mais j'imaginais (peut être à tort) que l'on pouvait décider d'afficher par exemple les pages de niveau 1 dans le menu horizontal et les pages de niveau 2 dans le menu verticale sans pour autant qu'ils soient liés, et donc affichés en permanence !... possible ?....
Merci d'avance pour vos réponses
Hors ligne
une idée (non testée) pour afficher toutes les pages filles :
- récupérer le SITEMAP, en y masquant les pages Parent (par du Css) ?
Stéphane
Stéphane
Webdesign AvantageWeb
Hors ligne
Hello ....
Franchement, je ne saurais te dire l'influence que peux avoir le SITEMAP sur l'affichage des éléments dans le site... à mon avis aucun, le sitemap n'est là que pour les bots des moteurs de recherche... mais étant loin d'être un pro... je n'affirme rien...
J'ai l'impression que c'est dans la structure même de zite qu'il faut aller tripatouiller pour "annihiler le lien mère-fille" entre les pages dans l'arborescence de notre site...
Je pensais que l'on pouvait trouver un truc en CSS.... mais là aussi je sèche.
Merci en tous cas pour ta réponse
Rémi
Hors ligne
salut Rémi,
Ce que tu veux, c'est un menu horizontal avec tous les zli1 (jusque là pas de blème) et verticalement l'ensemble des pages filles zli2 à la suite (et en permanance), de tous les zli1, c'est bien ça?
Tu auras donc les liens des pages filles n'ayant aucun rapport avec la page en cours, me goures-je?
Je pense que l'idée de Stéphane est pas mal car il ne parle pas du sitemap.xml (destiné exclusivement aux bots) mais bien à celui qui apparaît dans le site et peux ainsi aider le visiteur à consulter ce "sommaire" et d'accéder directement à ce qu'il cherche.
++ vYk
Dernière modification par davyk (16/09/2009 11:42:13)
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
Bon alors c'est exactement ça....
on pourrait par exemple décider d'avoir les menus zli1 (et peut être aussi zli2 ou zli3) comme menus et sous menus en horizontal (ou vertical au choix) et décider que les zli4 ou 5 ou autre soient affectés à l'autre menu (et ses sous menus afférents !)....
donc tout en gardant la structure interne de zite on pourrait avoir deux menus gérées à part l'un de l'autre... c'est exactement ça !...
Le hic, en css je ne sais pas comment ça pourrait se traduire et pour le sitemap, ben pareil... je ne suis pas assez expert en programmation pour savoir ce qu'il faut toucher .... mais effectivement je pense que c'est un truc du genre...
Merci en tous cas.... ce serait bien qu'un gros balaise nous trouve la solution ;-)
Rémi
Hors ligne
Je viens de tester ma solution (afficher le Plan du site, en masquant les Page parents...)
On obtient effectivement que les liens filles, mais hélas, comme le Plan du site est généré et codé en dur dans Zite.php il est dans un tableau avec des cellules vides, des dimensions en dur et des dates de modifs... bref pas gérable !
Dommage que ce qui est généré par Zite.php possède des tags en dur (tables, small, etc) plutot que des identificateurs css plus faciles à manipuler
Stéphane
Stéphane
Webdesign AvantageWeb
Hors ligne
Je viens de tester ma solution (afficher le Plan du site, en masquant les Page parents...)
On obtient effectivement que les liens filles, mais hélas, comme le Plan du site est généré et codé en dur dans Zite.php il est dans un tableau avec des cellules vides, des dimensions en dur et des dates de modifs... bref pas gérable !
Dommage que ce qui est généré par Zite.php possède des tags en dur (tables, small, etc) plutot que des identificateurs css plus faciles à manipulerStéphane
Ce n'est pas non plus une façon de faire gravé dans le marbre... perso, je n'ai rien contre les css, bien au contraire
Si tu as un peu de temps, détaille moi un petit peu plus les endroits où il serait intéressant de mettre un style (et pourquoi quand à faire) et on peut tout à fait envisager d'intégrer cela dans une prochaine version de Ziteplus.
ps: si d'autres personnes compétentes en css ont un avis sur la question, leur participation est bien sûr la bienvenue.
a+
jean-paul
Dernière modification par jpg (16/09/2009 16:33:44)
Hors ligne
Je continue à réfléchir à mon problème....
Serait il possible toujousr dans la même idée d'avoir un menu vertical et un horizontal indépendant....
De dire à Zite via le css.... tu affiches telle et telle page de niveau 1 (avec leurs sous menu) dans le menu horizontal (via le nom de la page en dur ou non)...et telle ou telle autre page dasn le menu horizontal... bref avec un menu d'une 10 aine de page il ne devrait pas être trop long de choisir quelle page va où !...
enfin toujours le même problème... y t'il un script ou une balise qui puisse faire ça ?...
Hors ligne
une idée : pour ton menu horizontal tu n'affiche que les niveau 1 et sous-niveau 2 (zli1 et zli2)...
et pour ton menu vertical, tu n'affiche que le niveau 3 et ses sous-niveaux 4 (zli3 et zli4)...
à toi d'organiser dans la gestion des pages l'arborescence qui va bien.
c'est une solution qui n'entraine pas de développements !
Stéphane
Stéphane
Webdesign AvantageWeb
Hors ligne
Hello merci pour l'idée, j'avais testé ça au départ... et c'est bien le problème puisque une page en sous menu est toujours la fille d'une page parente...
et donc zli3 est la fille de zli2 et n'apparaitra dans mon menu vertical que lorsque j'aurai cliqué sur la page de sous-niveau 2 correspondante dans le menu horizontal.
J'arrive bien à n'afficher que zli1 et zli2 dans mon menu horizontal et zli3 et zli4 dans mon menu vertical, si ce n'est que ce dernier ne reste pas affiché en permanence... c'est tout le hic !
Rémi
Hors ligne
salut
juste une idée !!
et si les zli4 et zli5 était le menu horizontal et que le reste le menu vertical !!
le problème à l'envers quoi !!
comme je dis c'est juste une idée
un zite+ associatif http://asso.gard.a.toi.free.fr
création de site internet dans le Gard et Ardèche http://www.creation-site-internet-gard.com/
Hors ligne
bonsoir,
le plus simple ne serait pas de créer une fonction dans zite.php qui génère le contenu de ces deux menus en faisant une boucle sur la valeur de niveau d'hiérachisation de chaque page ?
Rapidement, j'ai dû utiliser pour mes besoins quelque chose du genre:
function levelMenu($level = 1) {
$isadmin = (int)$_SESSION['zite_admin']>0;
$rewrite = $this->rewrite && !$isadmin;
$base = $this->rewrite ? ($isadmin ? $this->base.$this->get_data('navig_admin') : '') : $this->base;
$out = '';
foreach ( $this->struct as $i => $s) {
if ($s[4] && $s[2]==$level) $out .= '<dl><dt><a href="'.$base.($rewrite ? $s[0].'.html':$i).'">'.$s[1].'</a></dt></dl>';
}
return $out;
}
/// Pour utiliser, insérer
/// <?php echo $zite->levelMenu(xxx) ?>
Bien entendu, il faut adapter le code selon le type de liste que vous utilisez
Dernière modification par bvffalo73 (28/09/2009 17:39:29)
Hors ligne
Alors là, je suis bien désolé...
j'imagine que ça doit être un truc bien efficace, amis là ça dépasse vraiment mes compétences !...
A la rigueur, si tu me dis où insérer ce code et ce qui'l est censé faire , je veux bien servir de cobaye ;-)) en général je pige vite mais il faut m'expliquer longtemps ;-))
Merci à tous en tous cas de vous creuser la tête pour résoudre mon problème
Hors ligne
Hello,
Le code est à inséré dans zite.php entre deux fonctions, et de préférence vers la fin du fichier .
Pour l'utiliser tu mets
<?php echo $zite->levelMenu(xxx) ?>
à la place où tu veux afficher le menu.
Il fait une passe sur la structure du site, et pour toute page de niveau xxx (qui correspond à zlixxx), il crée un lien vers cette page sous forme de listes de définition. C'est là qu'il faut adapter le code afin de créer le type de liste que tu veux.
Cordialement.
[edit] au passage ... ceci fontionne avec zite v0.62. Je ne sais pas du tout si ça marche pour le nouveau zite et pour les variants.
Dernière modification par bvffalo73 (28/09/2009 17:55:21)
Hors ligne
Salut,
et merci d'abord pour tes conseils
Je viens de faire le test, installé ton code dans zite.php à la fin du fichier,
et rajouté les petites lignes nécessaires dans mon templates en prenant soin de changer 1 ou 2 en fonction de ce que je voulais qu'il apparaisse dans mes menus (soit zli1 ou zli2) et je me retrouve avec cette erreur : Fatal error: Call to undefined method zite::levelMenu()
????
Ne te prends pas trop la tête non plus !
Merci
rémi
Hors ligne
Salut,
et merci d'abord pour tes conseils
Je viens de faire le test, installé ton code dans zite.php à la fin du fichier,
et rajouté les petites lignes nécessaires dans mon templates en prenant soin de changer 1 ou 2 en fonction de ce que je voulais qu'il apparaisse dans mes menus (soit zli1 ou zli2) et je me retrouve avec cette erreur : Fatal error: Call to undefined method zite::levelMenu()????
Ne te prends pas trop la tête non plus !
Merci
rémi
Tu n'aurais pas inséré le code trop à la fin des fois ?
il faut que le code de ta fonction levelMenu soit quand même avant la dernière }, sinon il ne fait pas partie de la classe zite
a+
jean-paul
Dernière modification par jpg (29/09/2009 16:14:03)
Hors ligne
oui car j'ai testé (pour le fun) et le code de bvffalo73 marche très bien!
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
Bon alors ... honte sur moi, effectivement j'avais mis ma fonction après la dernière } ..... Ch'uis vraiment nul .... heureusement qu'il ya des mecs qui savent programmer !...
En tous cas, Big bravo à bvffalo73, ça marche du tonnerre !... c'est exactement ce qu'il me fallait, et c'est exactement ce que j'avais en tête quand je proposais de faire deux menus "différents". J'imagine donc en plus que 'lon peut multiplier l'opération autant qu'on le souhaite.... autant de menus à autant d'endroits qu'il y a de "niveaux dans l'arborescence ?"....
Moi je dis un grand BRAVO, et un grand MERCI !...
une "ola" pour bvffalo73
pour ma part on peut clore le sujet, je suis super satisfait....
et merci à la communauté... si je peux rendre la pareille un jour....
Hors ligne
et merci à la communauté... si je peux rendre la pareille un jour....
ça c'est sûr, personne ne t'en voudras si tu le fait!
et au fait, non, tu n'es pas nul, des fautes d'inattention, ça arrive même aux meilleurs (enfin, je sais pas, il paraît)
++ vYk
Dernière modification par davyk (29/09/2009 18:24:23)
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
héhé.... y'a juste que meilleur je suis loin d'y être... je suis juste un pauvre infographiste - webdesigner... alors certes je pique honteusement les scripts de ceux qui savent, mais bon comme je le disais si un jour je peux filer un coup de main (en webdesign ;-)) ce sera avec plaisir !
En tous cas je vous ferais suivre le résultat !...
merci
Hors ligne