Vous n'êtes pas identifié(e).
Pour les bûcherons, tout de suite le lien xmenu1.6.zip (zite-xmenu.php.zip (v1.0)).
[message du modérateur on]
Pour utiliser xmenu avec la version ZitePLUS 0.9.0, utiliser la version 1.7.1 de xmenu ici: http://www.zitecms.org/zite/forum/viewt … 4717#p4717
Pour utiliser xmenu avec la version ZitePLUS 0.9.1 utiliser la version 1.8 disponible ici: http://www.giausserand.fr/index.php?per … moduleplus
[message du modérateur off]
Comme j'avais besoin de menus hiérarchique, et plutôt que de simplement bidouiller le code de zite, je me suis construit un petit module.
Normalement c'est tout automatique (ou presque).
* Installez le module dans l'interface admin de Zite
* Activez le module (celà modifie votre index.php)
* Quand et où vous avez besoin du menu, ajoutez dans votre template <?php echo $zite->content['xmenu']; ?>
* C'est fini!!
Enfin maintenant vous pouvez passer au CSS car ce nouveau menu utilise les classes xzulx xzilx xzon xznest.
Parfait pour faire un menu horizontal en pur CSS.
Bon codage.
(d)oekia
EDIT4: la version 1.6 xmenu1.6.zip:
- href de la page d'acceuil http://serveur/
- pas de '.html' pour cPageTyp == 5 (?z=sitemap)
- prise en charge du target=_blank
EDIT3: la version 1.5 xmenu1.5.zip:
- ajoute un / manquant dans le cas d'un zite en sous-répertoire
- ajout un </li> manquant
- mis le correctif de la 1ere page improprement vue comme parent de toutes les autres
EDIT1: la version corrigé officielle de jpg: cliquez ici pour la télécharger
les modifications en deux mots:
- passage du module en code objet (classe Txmenu) et adaptation pour une meilleure intégration dans ziteplus
- prise en compte de la gestion des droits sur les pages
- simplification du code pour identifier les pages enfants
EDIT2: j'ai modifié la ligne 43 de la version "jpg" sans quoi le première page semble être le père de toutes les autres (surement un bug de zite+)
43,44c43,44
< $child = ($key==self::$cms->struct[$key+1][cPagePere])?' xnest':''; // Nous avons des pages enfants
> $child = (self::$cms->struct[$key+1][cPageRang] > $pg[cPageRang])?' xnest':''; // Nous avons des pages enfants FIXME
Dernière modification par jpg (20/09/2010 18:22:44)
Hors ligne
Beau boulot, Bravo
J'ai modifié un peu ton module et je l'ai passé en classe dérivant de Tmodule.
je mettrai en ligne demain la version modifiée et totalement compatible ziteplus.
Encore merci pour ce superbe travail
:):)
a+
jean-paul
Hors ligne
une super contrib que j'attendais avec beaucoup d'impatience..
et c'est un 'ti nouveau qui nous l'offre, franchement bravo!
je vais pouvoir avancer plus vite que prévu
un énorme MERCI (d)oekia
++ vYk
Dernière modification par davyk (09/10/2009 00:28:40)
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
Bonjour,
voici la version modifée: cliquez ici pour la télécharger
Pour l'utiliser, suivez les instructions données par doekia au début de ce thread et pensez à autoriser l'utilisation du module par tout le monde (sinon seul l'admin y a accès)
Ce module est compatible ziteplus à partir de la version 0.8.3
les modifications en deux mots:
- passage du module en code objet (classe Txmenu) et adaptation pour une meilleure intégration dans ziteplus
- prise en compte de la gestion des droits sur les pages
- simplification du code pour identifier les pages enfants
a+
jean-paul
Dernière modification par jpg (09/10/2009 11:55:23)
Hors ligne
Merci pour les félicitation :-) trop d'honneur....
Et je suis super content puisque mon code à reçu comme qui dirait l'agrément du développeur officiel de Zite+ et qu'il va pouvoir perdurer pour le futur... trop trop content.
Alors le message pour tous, faites des modules, postez les et vive Zite+
Par contre dit moi jean-paul si on généralise les modules ... ça va vite devenir le bazar pour l'install et la desinstall (qui patch l'index)... Faudrait peut-etre penser à ce que zite charge automatiquement ces dernier s'ils sont actif ... enfin je dis ça hein... juste mes 2 centimes dans l'édifice ...
a+
Hors ligne
Par contre dit moi jean-paul si on généralise les modules ... ça va vite devenir le bazar pour l'install et la desinstall (qui patch l'index)... Faudrait peut-etre penser à ce que zite charge automatiquement ces dernier s'ils sont actif ... enfin je dis ça hein... juste mes 2 centimes dans l'édifice ...
a+
Ziteplus charge déjà les modules actifs mais uniquement lorsqu'ils sont réellement utilisés
tu peux préciser ta pensée ?
a+
jean-paul
Hors ligne
Humm... chargé automatiquement ... oui c'est exact, mais aucune fonction de ce dernier n'est appelée aussi on doit patcher un élément (index.php)
afin d'appeler la fonction dojob (via page_module).
L'idée se serait d'avoir une fonction (dojob pour l'admin) qui permette de configurer le module si besoin comme celà existe aujourd'hui pour ga, et une autre fonction appelée automatiquement (dojob dans zite::builder()) pour donner une chance au module de réagir sur les pages comme xmenu. Voire une fonction zite::plugins que nous insérerions systématiquement dans index.php "$zite->builder(); $zite->plugins();" qui énumèrerait les modules actifs et lancerait une fonction du-dit module et dans l'absolue cette fonction devrait pouvoir être différente de dojob() de l'admin.
Peut-être une nouvelle définition de l'interface standard avec Tmodule pour le futur: doAdmin() depuis l'admin et doPage() en mode actif et seulement dojob() pour maintenir la compatibilité avec le passé. Bon je suis partagé sur la compatibilité avec le passé, c'est comme celà que l'on fait grossir inutilement le code ... passer un module dans le nouveau format ce n'est pas très long d'autant qu'il y a à ce jour assez peu de module ... (enfin publié , j'imagine que forum c'est un module )
Et voilà comment fut lancé la version 0.8.4 (ou 1.0)
En finissant cette explication, je me rends compte que c 'est un plugin en fait qu'est xmenu, mais doit-on créer une classe Tplugin avec toute sa gestion dans l'admin quand Tmodule pour quelques mineures adaptations nous tend les bras ...
(d)oekia
Dernière modification par doekia (09/10/2009 13:06:57)
Hors ligne
salut,
un petit retour sur le module (ou le plugin, comme on veut).
pour la version 1 j'avais un problème (le menu n'apparaissait pas, ni en local, ni en prod chez free) que j'ai résolu en passant l'include du fichier xmenu.php AVANT $zite->builder();
j'ai le même problème résolu de la même manière.
première question dont on se fout royalement, en fait: pourquoi ce bug?
deuxième question: avez-vous ce même problème (je pense que non) et pouvez-vous "inverser" genre:
$zite->page_module('xmenu');
$zite->builder();
dans index.php
c'est pas pour moi car je l'ai fait à la main sans encombre
++ vYk
PS: encore bravo pour le boulot les gars
Dernière modification par davyk (09/10/2009 15:08:19)
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
ah oui 2 choses,
le dernier lien du menu est:
<li class="xzli1"><a class="xzli1" href="/zite8.3index.php?perma=index.php?z=sitemap">Plan du site</a></ul>
la balise li n'est pas fermée, est-ce normal?
de plus j'avais oublié le fait que les liens sont faux:
href="/zite8.3index.php?perma=index.php?z=sitemap"
au lieu de
href="/zite8.3/index.php?perma=index.php?z=sitemap" et ce, depuis la première version, du coup, errreur (avec 3 "r") 404 à tous les coups (évidemment)
++ vYk
Dernière modification par davyk (09/10/2009 15:15:33)
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
Salut,
Bon le correctif version 1.5
- ajoute un / manquant dans le cas d'un zite en sous-répertoire
- ajout un </li> manquant (il peut en manquer d'autres dans le cas d'un
dernier élément imbriqué mais ça devient un peu usine à gaz pour qqchose
que n'importe quel navigateur corrige de lui même, par contre on ne passe
pas la validation HTML)
- mis le correctif de la 1ere page improprement vue comme parent de toutes les autres
Le nouveau module: ici xmenu1.5.zip
Normalement page_module doit être appelé APRES builder... pour garantir que zite est correctement initialisé.
Je ne vois pas pourquoi ça plante chez vous toi ... pouvez vous peux-tu créer une page debug mode php avec pour contenu:
<pre>
<?php print_r($_SERVER); ?>
<?php print_r($zite); ?>
</pre>
(d)oekia
Dernière modification par doekia (09/10/2009 16:23:49)
Hors ligne
Je ne vois pas pourquoi ça plante chez vous
ben moi non plus d'autant plus que les droits sont bons
et puis on peut se tutoyer, ça simplifie la conjugaison
++ vYk
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
puis on peut se tutoyer, ça simplifie la conjugaison
c'est clair ... mon cerveau fatigué ayant vu 2 posts il en a conclu que TU êtiez 2...
Dernière modification par doekia (09/10/2009 16:31:42)
Hors ligne
a tout hazard, tu peux enlever le page compress? et voir ce que ça donne ... bizarre ton content presque vide ...
c'est avec page_module avant ou après builder?
fait un essai de chaque mais ... poste en MP parce que ça 'pourri' un peu le forum
Hors ligne
Hello !...
euuuuuuh ça à l'air génial tout ça !.... et je me joins aux félicitations (sincèrement !) mais pour un pauvre infographiste, vous pouvez m'expliquer de manière "moins codée" à quoi sert ce petit module ?.... comment on l'utilise ?... un petit exemple peut être ?...
car "menu hierarchique" à quelque peu éveillé ma curiosité ;-)
Merci
Rémi
Hors ligne
alors le page_module est après le builder (pour générer l'erreur)
ensuite mon content est forcément presque vide car c'est un site de tests donc cette page contient presque rien
( Nouvelle page
Le contenu de cette page reste a saisir...
et non"), deux fois rien quoi
pour le debug sans la compress, je t'envoies ça par mp car c'est vrai que c'est con qu'on ne puisse mettre son contenu entre balises code. m'enfin
++ vYk
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
... expliquer ... "menu hierarchique" à quelque peu éveillé ma curiosité ;-)
le menu standard de zite+ c'est:
<ul class="zul">
<li class="zli zli1"><a class="za za1" href="index.php?z=1&perma=presentation">Présentation</a></li>
<li class="zli zli1"><a class="za za1" href="index.php?z=2&perma=Index">Bienvenue</a></li>
<li class="zli zli1 zon zon1"><a class="za zaon zaon1" href="index.php?z=3&perma=_Zite">Zite</a></li>
<li class="zli zli2"><a class="za za2" href="index.php?z=4&perma=_Top">Entête</a></li>
<li class="zli zli2"><a class="za za2" href="index.php?z=5&perma=_Login">Page de connexion</a></li>
<li class="zli zli2"><a class="za za2" href="index.php?z=6&perma=_Bot">Pied de page</a></li>
</ul>
avec xmenu ça donne:
<ul class="xzul1">
<li class="xzli1"><a class="xzli1" href="index.php?z=1&perma=presentation">Présentation</a></li>
<li class="xzli1"><a class="xzli1" href="index.php?z=2&perma=Index">Bienvenue</a></li>
<li class="xzli1 xzon xznest"><a class="xzli1 xzon xznest" href="index.php?z=3&perma=_Zite">Zite</a>
<ul class="xzul2">
<li class="xzli2"><a class="xzli2" href="index.php?z=4&perma=_Top">Entête</a></li>
<li class="xzli2"><a class="xzli2" href="index.php?z=5&perma=_Login">Page de connexion</a></li>
<li class="xzli2"><a class="xzli2" href="index.php?z=6&perma=_Bot">Pied de page</a></li>
</ul>
</li>
</ul>
Cette structure rend le html représentatif de la structure du site entre autre, et avec ces classes et éléments imbriqués tu peux faire de jolis menus entièrement piloté par le CSS
Voilà ce que ça donne sur le site sur lequel je travaill en ce moment:
J'espère avoir répondu à ta question
(d)oekia
Hors ligne
salut à vous !!
je découvre, j'admire, j'ai les yeux qui brillent !!
mais n'y aurais t'il pas un petit fichier css prémaché prédigéré à mettre en ligne pour les novices ou fainéant !!
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
salut,
il y a une douzaine de jours, j'ai créé un menu horizontal en css et j'avais fait la demande à jpg de transformer la génération du menu en fonction de mon css ici:
http://www.zitecms.org/zite/forum/viewtopic.php?id=497
puis doekia est arrivé il y a deux jours et a exhaussé mes veux, sans peut-être le savoir.
tu peux te servir de mon css et le transformer à ta guise, faut juste que tu mettes les bonnes classes à la place des miennes, ces dernières sont assez explicites:
j'ai gardé zli1, zli2 etc.. puis j'ai rajouté zsous2 qui est la div qui rassemble les liens de class zli2.
j'ai utilisé des divs, ils ont utilisé des ul et li mais l'essentiel est l'utilisation des class.
++ vYk
Dernière modification par davyk (10/10/2009 22:08:27)
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
ce menu horizontal a le même défaut que le sitemap, on ne peux plus cacher de pages.
il suffisait de ne pas publier une page et de lui créer des pages filles publiées.
c'est pourtant très pratique .
++ vYk
Dernière modification par davyk (10/10/2009 23:18:18)
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
... ou fainéant !!
Pour les fainéants c'est par là
Dernière modification par doekia (11/10/2009 21:05:37)
Hors ligne
Je découvre, je test, je farfouille, mais!?
oui, il y a un mais...
ce petit module me propose effectivement le type de menu que je souhaite (et que je vais pouvoir habiller à ma guise)
Mais alors le reste du contenu du panneau latéral disparait! snif snif.
Mes pauvres connaissances en code ne m'ont pour l'instant pas encore aidé à faire ré-apparaître ce panneau latéral à cette place.
en fait ce que je souhaite; si c'est facilement possible:
- dissocier le panneau latéral du menu pour avoir un menu horizontal (que je peux disposer et habiller à ma guise) et un panneau latéral (à gauche ou à droite selon l'humeur grâce aux CSS)
Mais bon... au pire je peux me passer de ce panneau,
mais mais... ce serait sympa non? un zouli menu agrémenté d'un beau panneau latéral?
Hors ligne
en fait ce que je souhaite; si c'est facilement possible:
- dissocier le panneau latéral du menu pour avoir un menu horizontal (que je peux disposer et habiller à ma guise) et un panneau latéral (à gauche ou à droite selon l'humeur grâce aux CSS)
relis bien le premier message de ce post concernat l'installation ...
le panneau latéral est géré par zite via l'appel à $zite->content["menu"];, si tu l'enlèves ... tu n'as plus de panneau latéral ...
Remets le comme avant et masque son contenu par un display: none sur la classe zul dans ta CSS
$zite->content['menu'] = fromage
$zite->content['xmenu'] = dessert
prends les deux, c'est le patron qui régale
Hors ligne
salut a-lex,
essayes ça:
http://www.zitecms.org/zite/forum/viewt … 3072#p3072
mais tu remplaces
<?php echo $zite->content['plbit2'].$zite->content['menu'].$zite->content['plbit4'] ?>
par:
<?php echo $zite->content['plbit2'].$zite->content['xmenu'].$zite->content['plbit4'] ?>
dans le template
++ vYk
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne
merci de vos réponses!
je vais étudier tout ça et viiiiiiiiiiite mettre en pratique.
Houlààà mais c'est que je dos finir ce boulot pour avant-hier!
Hors ligne
comme d'hab
Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows
Hors ligne