Forum ZitePLUS

La communauté des utilisateurs du CMS ZitePLUS

Vous n'êtes pas identifié(e).

#1 31/01/2011 16:47:38

Stefpei
Membre
Lieu : Nantes
Inscription : 12/06/2009
Messages : 354
Site Web

appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

je termine ce site : http://www.cd-formation.com/ziteplus/
La colonne de gauche est un Panneau latéral... présent dans toutes les pages... sauf dans la page "Toutes les Formations".
Dans cette page je ne veux pas voir cette colonne mais un sous-menu (ZLI2).
Ca marche avec ce code (allégé) :

    switch($mapage[cPageIdent]) {
    case 'formations-logiciels-bureautiques':
    --> echo $zite->content['menu']
    break;
    default:
    --> echo $zite->content['pnl4']
    }

C'est OK quand on est dans la page "formations-logiciels-bureautiques"....
mais comment faire pour les multiples pages-filles de celle-ci (qui actuellement affichent le 'pnl4') ?
Je ne peux pas les mettres toutes dans un "case" !
Je voudrai : IF "case" = "parent" ALORS echo "Sous-menu" ! (je ne suis pas développeur wink


Stéphane
Webdesign AvantageWeb

Hors ligne

#2 31/01/2011 20:28:55

Stefpei
Membre
Lieu : Nantes
Inscription : 12/06/2009
Messages : 354
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

en fin de compte la solution existe en reprenant un vieux post (merci JPG)...
on peut appliquer un style (ou autre chose) à une rubrique... et toutes ses pages-filles par ce code :

   $mapage = $zite->struct[$zite->truepage];
   if ( ($mapage[cPageIdent]=='formations') || ($zite->struct[$mapage[cPagePere]][cPageIdent]=='formations') ) {
            --> look spécifique   
   } else {
            --> look normal
   }

Mon problême est résolu, ça marche impec...


Stéphane
Webdesign AvantageWeb

Hors ligne

#3 01/02/2011 12:32:06

Stefpei
Membre
Lieu : Nantes
Inscription : 12/06/2009
Messages : 354
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

Question à JPG : est-ce envisageable (d'un point de vue fonctionnel) de mettre
dans un panneau latéral ce code :    <?php echo $zite->content['menu'] ?>
(Exemple : je veux afficher les sous-menus dans certaines pages)

Car je l'ai testé mais rien ne s'affiche...


Stéphane
Webdesign AvantageWeb

Hors ligne

#4 01/02/2011 23:57:13

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

Bonsoir Stéphane,

de mémoire, $this->content['menu'] n'a pas encore de valeur a ce moment là

a+
Jean-Paul

ps, pour info: si le module xmenu est activé, la variable $this->content['xmenu'] est disponible a ce moment là

Hors ligne

#5 02/02/2011 17:14:45

Stefpei
Membre
Lieu : Nantes
Inscription : 12/06/2009
Messages : 354
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

Ok, je vais tester et donner le résultat.


Stéphane
Webdesign AvantageWeb

Hors ligne

#6 04/02/2011 20:38:20

Stefpei
Membre
Lieu : Nantes
Inscription : 12/06/2009
Messages : 354
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

$mapage = $zite->struct[$zite->truepage];
   if ( ($mapage[cPageIdent]=='formations') || ($zite->struct[$mapage[cPagePere]][cPageIdent]=='formations') ) {
            --> look spécifique   
   } else {
            --> look normal
   }

Le code ci-dessus fonctionne pour un sous-niveau (zli2)... mais voilà : j'ai maintenant des sous-sous-niveau (zli3) !... Et ça ne marche plus.

Est-ce envisageable un code du genre:           ($zite->struct[$mapage[cPagePere]][cPageIdent][cPageIdent]=='formations') )

Dernière modification par Stefpei (04/02/2011 20:40:42)


Stéphane
Webdesign AvantageWeb

Hors ligne

#7 05/02/2011 13:27:28

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

Bonjour Stéphane,
peut-être faut-il revenir à la logique de fonctionnement intégrée à ZitePLUS 091 wink

Si j'ai compris ce que tu souhaites, tu as une structure de page comme celle-ci

-page1
-pageFormations
--spf1
--spf2
---sspf1
---sspf2
--spf3
-page3
-page4

et tu veux afficher la page de type panneau (monpanneau1 par exemple) sur toutes les pages sauf la page pageFormations et ses sous-pages
et tu veux afficher une autre page de type panneau (monpanneau2) sur la page pageFormations et ses sous pages

Si oui, une solution possible en 091:

1) Adopter comme structure de page:

-page1
-pageFormations
--monpanneau3
--monpanneau2
--spf1
--spf2
---sspf1
---sspf2
--spf3
-page3
-page4
-monpanneau1

2) Dans monpanneau1 (visible partout sauf formations) et monpanneau2 (visible pages formations) tu mets ton code normal pour le panneau, sans te préoccuper de sa visibilité

3) C'est monpanneau3 qui va contrôler automatiquement le non affichage de monpanneau1
Il doit être de type PHP et contenir un code du type:
<?php
  $this->content['localcss'].= " #pg_monpanneau1 {display:none}";
  ?>

Et voilà big_smile

Hors ligne

#8 07/02/2011 11:30:39

Stefpei
Membre
Lieu : Nantes
Inscription : 12/06/2009
Messages : 354
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

j'ai créé un Panneau dans lequel j'ai mis l'image :
     Catalogue des Formations
suivie du code :
     <style type="text/css">#ma-colonne1{display:none}</style>

--> tout fonctionne comme espéré !

Question à quoi correspond ton code : $this->content['localcss']


Stéphane
Webdesign AvantageWeb

Hors ligne

#9 07/02/2011 13:36:48

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

Stefpei a écrit :

--> tout fonctionne comme espéré !

Super smile

Stefpei a écrit :

Question à quoi correspond ton code : $this->content['localcss']

Cela permet à ZitePLUS de mettre le code css dans la section <head> de la page.

a+
Jean-Paul

Hors ligne

#10 07/02/2011 14:41:04

Stefpei
Membre
Lieu : Nantes
Inscription : 12/06/2009
Messages : 354
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

je viens de tester : $this->content['localcss'].= " #pg_monpanneau1 {display:none}";
effectivement c'est pas mal, ça permet d'envisager de nouvelles personnalisations !

mais, dans HEAD, ce contenu css (#pg_monpanneau1, etc...) apparait avant "cms.css" et "standard.css"...
Je pense qu'il devrait apparaitre en dernier, car c'est un style contextuel (particulier à une page), donc une surcouche des 2 premiers,
il doit donc être appelé en dernier... (mais peut-etre que mon cas est particulier ?)

Dernière modification par Stefpei (07/02/2011 14:43:34)


Stéphane
Webdesign AvantageWeb

Hors ligne

#11 07/02/2011 19:17:40

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : appliquer un style à une page-mère... et à TOUTES SES PAGES-FILLES

Stefpei a écrit :

je viens de tester : $this->content['localcss'].= " #pg_monpanneau1 {display:none}";
effectivement c'est pas mal, ça permet d'envisager de nouvelles personnalisations !

Oui, d'autant plus qu'il y a aussi:

   - $this->content['css'] :  zitePLUS ne rajoute rien, le code css doit-être complet. C'est pour insérer des fichiers css externes comme par exemple le code ci-après
$this->content['css'].='<link href="manews.css" rel="stylesheet" type="text/css" />'

  - $this->content['js'] pour rajouter du code javascript, toujours dans le <head> de la page.

Avec tout ça, on devrait pouvoir personnaliser ... avec un code propre qui respecte les standards

Stefpei a écrit :

mais, dans HEAD, ce contenu css (#pg_monpanneau1, etc...) apparait avant "cms.css" et "standard.css"...
Je pense qu'il devrait apparaitre en dernier, car c'est un style contextuel (particulier à une page), donc une surcouche des 2 premiers,
il doit donc être appelé en dernier... (mais peut-etre que mon cas est particulier ?)

Disons que tu n'est pas le premier à me faire cette remarque wink
D'ailleurs, si tu regardes le code source, tu verras une remarque:
        if (isset($this->content['localcss'])) {//test avant décision et base
J'hésite encore un peu sur la position définitive suite à vos remarques.
Au début, c'était plutôt dans une optique usage "système ziteplus" (et donc moins prioritaire qu'un style utilisateur)
... mais à l'usage ... on a plutôt tendance (moi compris roll) à l'utiliser aussi (et surtout) dans les pages et donc il devrait être après ...
On va voir.

a+
Jean-Paul

Hors ligne

Pied de page des forums