Vous n'êtes pas identifié(e).
Bonjour
Cela fait longtemps que je dois refaire le site internet d'une petite association sportive, et je découvre avec plaisir Zite et son petit frère Zite+.
Enfin un CMS qui permet de faire un site statique, et pas une machine à gaz avec blog, forum, messagerie...
Enfin vous voyez ce que je veux dire, d'après ce que j'ai vu dans le forum !
Je suis vraiment novice en ce qui touche le php, même si je comprend ce que je fais.
Ma question est simple : si je fais des modifications dans le template.php (pour l'adapter à la structure de mon site), comment vont se passer les futures mises-à jour de Zite+ ?
J'imagine qu'un nouveau template.php viendra écraser mes modifications?
Comment puis-je rendre pérennes mes modifications?
Egalement, concernant le CSS, j'ai créé un fichier user.css à la base de mon site (avec l'option qui va bien dans la configuration de zite+). Y a-t-il un moyen plus propre de faire un habillage du site, résistant à une éventuelle modification de la structure du site par une mise à jour de zite+?
En fait, j'ai juste besoin de prendre mes marques avec la structure du CMS, ce qui n'est pas évident quand on ne connait pas php!!!
Merci
Hors ligne
bienvenue
à tu réellement besoins de modifier le template ?
car ziteplus fait en sorte que l'on peut se priver de genre de prise de tête
si tu à besoins de créer des div supplémentaire tu peut toujours les inséré dans un panneau latéral et jouer avec ton css !!
si tu à besoins d'appelé un code php de même tu l'insère dans un panneau latéral en php !!
je n'ai pas tous les codes qui permette d'appelé un css particulier ou d'un javascript mais si tu cherche sur le forum tu trouvera ton bonheur
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
En fait, le site que je veux créer aura une hiérarchie sur deux niveaux. Je veux un menu horizontal avec les items du premier niveau de menu, et un deuxième menu horizontal en dessous avec les pages filles de la page que je visite.
J'ai testé le module "xmenu". En l'appelant deux fois dans un panneau, et avec une couche de css, j'arrive à obtenir ce que je veux. Sauf que... quand je visite une page fille (donc du 2e niveau), je perd mon menu horizontal du 2e niveau. En effet, "xmenu" indique par un class quelle est la page visitée, mais quand on visite une page de 2e niveau, on n'a aucun moyen de cadrer avec css la page de 1er niveau correspondante.
Je ne sais pas si je suis clair ! Je m'embrouille moi même en me lisant ! ^^
Quoi qu'il en soit, ce n'est pas là mon problème...
Pour pallier à ce manque dans "xmenu", en parcourant le forum, j'ai trouvé des personnes qui utilisent
$zite->content['menu']
mais (ne me demande pas pourquoi) cette fonction ne marche pas dans un panneau latéral. Elle ne fonctionne (d'après ce que j'ai lu dans le forum) que si on la met directement au bon endroit dans template.php. Je n'ai pas encore essayé, car comme je le disais initialement, je ne veux pas casser zite+ en faisant n'importe quoi dans le template...
Voilà où j'en suis.
En résumé, je veux :
- soit faire fonctionner $zite->content['menu'] dans un panneau latéral
- soit savoir si je peux bidouiller le template sans devoir m'en mordre les doigts dans quelques MAJ de zite+
- (soit trouver une autre solution à cette histoire de menu)
- egalement, je voulais savoir quelle est la meilleure méthode pour modifier le css? Par un user.css ajouté, ou en créant un thème modifié?
Merci pour l'aide que vous apportez à un nouveau.
Hors ligne
effectivement dans ton souhait xmenu ne le permet pas et pour activer le menu standard on est obliger de passer par le template (j'ai plusieurs fois essayé de le mettre dans un panneau mais sans succès)
on peut sans trop de problème modifier le template.php (sauf si t'en rajoute une couche énorme) et avant de faire une mise à jours il vaut mieux faire une sauvegarde complète du site
alors moi je dit si un jours tu upgrade ton zite tu n'auras pas trop de mal à le remettre à jours surtout que le template est rarement modifier dans les mise à jours
ps : pour ma part je part toujours du style.css pour faire mon site car j'aime bien n'avoir qu'un seul fichier css
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
Et en cas de mise à jour justement, comment ça se passe? C'est un script qui modifiera juste une partie du fichier existant, ou une copie qui écrase l'ancien par le nouveau?
Dans un cas on garde les modifs, dans l'autre non...
Désolé, je n'ai jamais vécu de mise à jour, je viens d'arriver!
EDIT: Si je prend toutes ces précautions, c'est parce qu'il y a de grandes chances pour que je ne fasse plus partie de l'association quand il y aura des mises à jour...
Les personnes qui s'en occuperont seront capables de copier un fichier par ftp, mais pas de refaire des modifs un peu partout ensuite pour rétablir ce que la MAJ a écrasé.
C'est pour ça que je cherche au maximum à préserver la structure de zite, et à ne modifier que ce qui est prévu.
Dernière modification par Super_chemist (27/05/2011 19:31:38)
Hors ligne
quand tu sauvegarde la totalité du site tu à un fichier zip avec ton site
si la mise à jours ce passe mal
tu uplowd le contenue de ton zip et ton site redevient nickel
http://www.giausserand.fr/index.php?perma=zitelpus_v090
le fichier template.php est automatiquement modifier si mise à jour mais je ne sais si il écrase l'ancien
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
J'ai fait pas mal d'essais depuis mon premier post.
Au point où j'en suis rendu, j'ai décidé de placer le div#side au dessus du contenu de mon site, par css. Comme ça je ne touche pas trop au template.
Seul problème que je viens d'identifier, et là je suis désespéré au vu de ce que je dois faire : j'ai besoin d'appeler deux fois le menu (pour avoir mes deux menus horizontaux) et j'avais prévu de masquer ce qui va bien via des display:none.
Sauf que... mon site doit absolument être valide W3C et visible via un navigateur texte. C'est le site d'une association sportive, nous allons ouvrir une section handi-sport à la rentrée, nous aurons potentiellement des mal-voyants qui consulteront ce site.
Et je viens de faire l'essai, les navigateurs texte ne lisent pas le css. Les display:none n'ont aucun effet dessus.
Si j'appelle deux fois le menu, habillé de css, via un navigateur graphique, pas de soucis.
Mais via un navigateur texte, le menu apparait deux fois...
Et là ça la fout mal !!!
Seule solution que je vois: pondre une fonction php qui interprète le contenu du menu, et me sorte proprement mes deux listes. Mais je ne sais pas coder... Et je doute pouvoir apprendre en deux jours avec le tuto du siteduzero !
Y a-t-il un moyen simple de modifier le script du menu, ou celui de xmenu, pour avoir ça? Quelqu'un l'a -t-il déja fait?
Merci
Hors ligne
y-a pas une moyen de vérifier le type de navigateur ? :
- if navigateur graphique --> on appelle la feuille de style normale...
- if navigateur texte --> on appelle la feuille de style qui cache le menu en trop ...
ça devrai marcher !
Stéphane
Webdesign AvantageWeb
Hors ligne
Il semblerait que les navigateurs texte n'interprètent pas le CSS...
Donc c'est inutile !
ou alors il y a une option style "media=text_navigator" à appeler dans la déclaration de la feuille css... Je vais fouiller sur le site du w3c.
Hors ligne
il y-a bien des CSS pour ces navigateurs/lecteurs je crois :
feuille de style braille.css & aural.css
http://list.accessiweb.org/pipermail/li … 01706.html
http://webdesign.about.com/od/auralcss/ … _Sound.htm
Aural Cascading Style Sheets - CSS for Sound
Stéphane
Webdesign AvantageWeb
Hors ligne
Bon, finalement, j'ai retroussé mes manches et je me suis débrouillé autrement. Exit le braille.css, tout ce qui se trouve dans le HTML brut doit avoir un sens...
J'ai écrit un script php qui, à base de regex, me renvoie dans l'ordre, à partir du $zite->content[menu]
- une liste ul/li de tous les liens zli1
- une liste ul/li des liens zli2 enfants du zli1 actuel
-une liste ul/li des liens zli3 enfants du zli2 actuel
- une liste des liens zli4 enfants du zli3 actuel.
Juste ce qu' il me fallait !
Ca m'a pris l'après-midi, mais je suis assez content de moi. Ce matin, j'étais une bille en php!
Voici l'extrait intéressant de mon template.php:
<div id="side">
<?php
$menu1=preg_replace('#<li class="zli[234].+</li>#U', '', $zite->content['menu']);
if (preg_match('#zli2#',$zite->content['menu'])){$menu2=preg_replace('#<li class="zli(1"|3|4).+</li>#U', '', $zite->content['menu']);}else{$menu2='';}
if (preg_match('#zli3#',$zite->content['menu'])){$menu3=preg_replace('#<li class="zli(1|2"|4).+</li>#U', '', $zite->content['menu']);}else{$menu3='';}
if (preg_match('#zli4#',$zite->content['menu'])){$menu4=preg_replace('#<li class="zli(1|2|3").+</li>#U', '', $zite->content['menu']);}else{$menu4='';}
echo $zite->content['pnl2'].'<div id="menu1">'.$menu1.'</div><div id="menu2">'.$menu2.'</div><div id="menu3">'.$menu3.'</div><div id="menu4">'.$menu4.'</div>'.$zite->content['pnl3'] ?>
</div>
C'est moche de faire ça dans le template, mais je ne sais pas si on peut transformer ça en module... L'appel à zite->content['menu'] risque de ne pas passer.
Si ça tente quelqu'un, n'hésitez pas!
EDIT : Après test, ça ne fonctionne effectivement pas en module. Je crois que le content['menu'] n'est pas encore généré quand mon module s'exécute. Dommage!
Dernière modification par Super_chemist (02/06/2011 18:04:45)
Hors ligne
Bonjour,
Seul problème que je viens d'identifier, et là je suis désespéré au vu de ce que je dois faire : j'ai besoin d'appeler deux fois le menu (pour avoir mes deux menus horizontaux) et j'avais prévu de masquer ce qui va bien via des display:none.
Sauf que... mon site doit absolument être valide W3C et visible via un navigateur texte. C'est le site d'une association sportive, nous allons ouvrir une section handi-sport à la rentrée, nous aurons potentiellement des mal-voyants qui consulteront ce site.
Et je viens de faire l'essai, les navigateurs texte ne lisent pas le css. Les display:none n'ont aucun effet dessus.Si j'appelle deux fois le menu, habillé de css, via un navigateur graphique, pas de soucis.
Mais via un navigateur texte, le menu apparait deux fois...
Et là ça la fout mal !!
y-a pas une moyen de vérifier le type de navigateur ? :
- if navigateur graphique --> on appelle la feuille de style normale...
- if navigateur texte --> on appelle la feuille de style qui cache le menu en trop ...
ça devrai marcher !
Il devrait être possible de s'inspirer de la proposition de Stefpei et de ne pas générer (par PHP) le deuxième appel de menu dans le cas de navigateurs textes ?
Peut-être en utilisant $_SERVER['HTTP_USER_AGENT'] et/ou get_browser
Enfin c'est juste une idée
a+
Jean-Paul
ps: bravo pour les preg_match, mais je ne suis pas certain que cela passe la version future 1.0 et un menu nativement hiérarchique
Hors ligne
Je préfère que mon code HTML soit directement "propre". Générer 4 fois le menu, pour en masquer les 3/4, n'est-ce pas un peu superflu? D'autant que le monde des navigateurs pour malvoyants est assez nébuleux... Certains utilisent des lecteurs d'écrans, des plugins sous IE, firefox ou autres, d'autres passent par des terminaux braille. Et au final, un tri par le USER AGENT risque d'en laisser quelques-uns sur le côté...
Il n'y a aucun standard !
Le script que j'ai fait me permet de n'avoir que le HTML qui m'intéresse, que ce soit en navigateur graphique ou texte. Je n'ai AUCUN display:none dans mon css, comme ça je suis sûr que tout le monde voit la même chose !
Concernant le menu hiérarchique natif, ma foi, il suffira d'adapter les regex.
Tant qu'on conservera la possibilité de ne dérouler que la section de la page en cours, mon script sera adaptable. Ca sera même plus simple!
En revanche, si on obtient la même chose qu'avec xmenu, tout déroulé, sans zonp pour identifier les pages parents, je ne pourrai rien. Mais bon, on verra!
Pour l'instant, j'ai trouvé mon bonheur !
Merci à vous
Hors ligne