Forum ZitePLUS

La communauté des utilisateurs du CMS ZitePLUS

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

#1 29/09/2009 18:43:16

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

Comment repérer la page d'accueil avec $mapage=$zite->struct[..... ?

Bonjour,

j'utilise le code suivant pour personnaliser certaines pages, ce code repère le fichier appelé :

     <?php
     $mapage = $zite->struct[$zite->truepage];
     switch($mapage[cPageIdent]) {
         case 'contact':
           echo "styleContact.css";   
    break;
    default:
          echo "style.css";
     }
     ?>

Mais comment faire pour repérer la page index, car je voudrais appeler un css spécifique pour la Homepage

je cherche quelquechose comme  :     <if page index sans fichier.txt alors  echo "styleaccueil.css"; ...
(ça doit être du Php v0.0.5)

     Stéphane


Stéphane
Webdesign AvantageWeb

Hors ligne

#2 29/09/2009 19:31:54

davyk
Membre
Inscription : 09/09/2008
Messages : 819
Site Web

Re : Comment repérer la page d'accueil avec $mapage=$zite->struct[..... ?

Salut Stéphane,

si ta homepage s'appelle...Homepage:

<?php
if ($this->content['menu_title']=='Homepage') {echo 'styleHomepage.css';}
else {echo 'style.css';} ?>
Stéphane a écrit :

je cherche quelquechose comme  :     <if page index sans fichier.txt alors  echo "styleaccueil.css"; ...
(ça doit être du Php v0.0.5)

oui mais en franglais alors big_smile

++ vYk

Dernière modification par davyk (29/09/2009 19:38:19)


Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows

Hors ligne

#3 29/09/2009 23:06:07

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

Re : Comment repérer la page d'accueil avec $mapage=$zite->struct[..... ?

Ok merci, ça marche impec !
Résultat :  http://www.c-too.com/vignerons (la homePage appelle une css d'une seule colonne, et 2 sur les autres pages)



Une autre question :
est-normal, ou obligé d'avoir comme source pour les images :
                       src="index.php?doc=image.jpg"

plutot qu'un bien plus standard :
                       src="image.jpg"

Est-ce dù à une configuration spéciale ?


Stéphane


Stéphane
Webdesign AvantageWeb

Hors ligne

#4 29/09/2009 23:23:19

davyk
Membre
Inscription : 09/09/2008
Messages : 819
Site Web

Re : Comment repérer la page d'accueil avec $mapage=$zite->struct[..... ?

c'est dû à la gestion des documents que jean-paul a intégré.

c'est vrai que j'aurais préféré un standard que du coup la compression avec obstart() (pour free) aurait pu gérer, parceque là, ça passe pas et c'est trop con!

++

Dernière modification par davyk (29/09/2009 23:25:16)


Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows

Hors ligne

#5 02/10/2009 12:58:21

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

Re : Comment repérer la page d'accueil avec $mapage=$zite->struct[..... ?

Je sais appeler une Css différente pour une certaine page (exemple : welcome-english) avec le code suivant :
   $mapage = $zite->struct[$zite->truepage];
       switch($mapage[cPageIdent]) {
        case 'welcome-english':
            echo '<link href="style-english.css" rel="stylesheet" type="text/css" />';   
        break;
        default:
             echo 'css normale';
    }


mais est-ce que je peux appeler une certaine Css pour une page-mere (Welcome-english) et surtout pour toutes les pages qui en sont filles ?
   En gros quelque chose du genre :
            <if  page-mere = "welcome-english"
              alors echo 'ma-css-english'...
            <if  page untel = fille de "welcome-english"
              alors echo 'ma-css-english'...


ou bien autre piste (et autre question) est-il possible d'avoir 2 templates.php ?
        le gestion des "<if" se ferait dans le "index.php"... je pense.

Stéphane (http://www.c-too.com/vignerons)


Stéphane
Webdesign AvantageWeb

Hors ligne

#6 02/10/2009 23:55:05

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

Re : Comment repérer la page d'accueil avec $mapage=$zite->struct[..... ?

Stefpei a écrit :

Une autre question :
est-normal, ou obligé d'avoir comme source pour les images :
                       src="index.php?doc=image.jpg"

plutot qu'un bien plus standard :
                       src="image.jpg"

Est-ce dù à une configuration spéciale ?


Stéphane

Bonsoir Stéphane,

Cela permet de gérer finement les droits d'accès aux documents.
Un document n'est pas forcément accessible à tous.
Par exemple, pour un site de gestion d'une copropriété, des documents sont accessibles aux membres du conseil syndical, d'autres aux copropriétaires, d'autres à tous le monde ....

Avec l'ancienne forme et l'accès direct aux fichiers de zfiles, il n'y avait aucune sécurité possible: tous les fichiers étaient accessible à tous.

Depuis Ziteplus 0.8.3 et la création des documents, l'accès a ces documents est contrôlé par Ziteplus. Le document (ou fichier) peut être accessible à tous ou être en accès restreint.
il est important, dans un cms, qu'un utilisateur lambda ne puisse pas accéder à des documents privés en tapant directement l'adresse du fichier dans la barre de l'explorateur: le cms doit contrôler, puis permettre ou interdire ces accès.

C'est un peu le même principe que pour les pages du site accessible par défaut avec une URL du type index.php?perma=xxxxxx.
La aussi c'est le CMS qui contrôle les droits d'accès aux pages.

Si cette appellation des documents te gêne, tu peux utiliser la même technique que pour avoir une URL signifiante avec les pages html: l'urlrewriting.

a+
jean-paul

Hors ligne

#7 03/10/2009 00:12:14

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

Re : Comment repérer la page d'accueil avec $mapage=$zite->struct[..... ?

Stefpei a écrit :

Je sais appeler une Css différente pour une certaine page (exemple : welcome-english) avec le code suivant :
   $mapage = $zite->struct[$zite->truepage];
       switch($mapage[cPageIdent]) {
        case 'welcome-english':
            echo '<link href="style-english.css" rel="stylesheet" type="text/css" />';   
        break;
        default:
             echo 'css normale';
    }


mais est-ce que je peux appeler une certaine Css pour une page-mere (Welcome-english) et surtout pour toutes les pages qui en sont filles ?
   En gros quelque chose du genre :
            <if  page-mere = "welcome-english"
              alors echo 'ma-css-english'...
            <if  page untel = fille de "welcome-english"
              alors echo 'ma-css-english'...


ou bien autre piste (et autre question) est-il possible d'avoir 2 templates.php ?
        le gestion des "<if" se ferait dans le "index.php"... je pense.

Stéphane (http://www.c-too.com/vignerons)

Et pourquoi pas un code du genre:

   $mapage = $zite->struct[$zite->truepage];
   if ( ($mapage[cPageIdent]=='welcome-english') || ($zite->struct[$mapage[cPagePere]][cPageIdent]=='welcome-english') ) {
            echo '<link href="style-english.css" rel="stylesheet" type="text/css" />';   
   } else {
             echo 'css normale';
   }

Cela marchera si tu as uniquement un seul niveau de page fille


le même en version plus compréhensible:

   $mapage = $zite->struct[$zite->truepage];            // prendre la page en cours

   $monpere = $zite->struct[$mapage[cPagePere]];   // prendre la page père de la page en cours

   if ( ($mapage[cPageIdent]=='welcome-english') || ($monpere[cPageIdent]=='welcome-english') ) { // tester si page en cours ou page père attendues

            echo '<link href="style-english.css" rel="stylesheet" type="text/css" />';   

   } else {

             echo 'css normale';
   }

Hors ligne

#8 03/10/2009 16:55:54

davyk
Membre
Inscription : 09/09/2008
Messages : 819
Site Web

Re : Comment repérer la page d'accueil avec $mapage=$zite->struct[..... ?

jpg a écrit :

Si cette appellation des documents te gêne, tu peux utiliser la même technique que pour avoir une URL signifiante avec les pages html: l'urlrewriting.

alors ça, c'est vraiment pas bête, j'y avais pas pensé.


Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows

Hors ligne

Pied de page des forums