[Résolu]Sidebar personnalisable

ZalianZalian Member
septembre 2013 modifié dans Entraide
Bonjour,

Tout d'abord, merci et bravo pour ce chouette CMS. Je cherchais depuis une longtemps une solution simple, légère, user-friendly et facilement personnalisable. Un truc efficient quoi. Je vais cependant avoir besoin d'un peu d'aide, et j'espère pouvoir apporter des idées en retour pendant ce temps :)

Ma première question : Comment puis-je avoir une sidebar personnalisé pour chaque page?
Je me sert de la sidebar comme un petit menu supplémentaire avec des liens redirigeant sur plusieurs ancres de la page. Une solution s'offre à moi mais pas optimisé à mon goût : créer pour chaque sidebar une page static-x que je choisirais ensuite dans template lors de l'édition d'une page statique.

J'ai vu qu'il existait des fonctions de plxshow comme StaticContent, alors je me suis dis pourquoi pas essayer de créer mon propre plugin, mais je me suis vite calmé; je n'ai guère touché à la POO et je n'ai pas trop le temps de me remettre au PHP en ce moment. Le must serait une case à cocher "afficher la sidebar" dans l'administration d'une page statique, avec le choix de sa sidebar.

Que me conseillez-vous de faire?

Merci d'avance !

Cordialement,

Zal

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour Zalian
    Ta question m'a inspiré cet article qui répondra à ta demande
    PluXml: Afficher une sidebar différente pour chaque page statique

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • RohirrimRohirrim Member
    septembre 2013 modifié
    ouais !! :P

    et si on combine cette astuce de plusieurs sidebar, avec la fonction "include", est-ce que l'on peut imaginer que l'on puisse définir le contenu des différentes sidebar au moyen de différentes pages statiques dédiées ? (comme décrit ici )

    auquel cas, ça ouvrirait des pistes pour modifier les infos facilement par des utilisateurs dédiés, sans retoucher au thème...
  • StéphaneStéphane Member, Former PluXml Project Manager
    @Rohirrim: oui. on peut facilement imaginer plusieures variantes

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Du coup, Stéphane, d'après ton bout de code, on doit aussi pouvoir faire de même (ou à peu-près) avec le footer et le header ?


    à plus,

    Gzyg
  • StéphaneStéphane Member, Former PluXml Project Manager
    @Gzyg: Absolument. Cette technique peut être adaptée pour d'autres fichiers

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • OK :)

    C'est vrai que ça ouvre des perspectives...

    Zalian, merci d'avoir posé la question ! :D


    à plus,

    Gzyg
  • j'ai déja testé le "include" pour personnaliser header et footer : ça marche nickel et donne la possibilité de modifier ces deux parties du site, sans toucher réellement au thème (moins de mains dans le cambouis et moindre risque de gros plantage - on a pas accès à tous les paramètres, donc l'utilisateur moyen a moins de chance de tout bousiller)
  • Super ! Merci Stéphane, et merci Rohirrim et Gzyg pour les perspectives :p
  • Bonjour,

    Pour modifier ce code pour que ce soit le meme contenu affiché pour plusieurs page statique
    [== Indéfini ==]
    <?php
        if($plxMotor->mode=='static' AND $plxMotor->cible=='002') {
            echo "Texte à afficher lors de la visualisation de la page statique 002";
        }
    ?>
    

    Est-ce que écrire:cible=='002', '004' ,"006') serait correct?

    Merci
  • De même pour afficher une sidebar différente mais pour plusieurs pages statiques
    [== Indéfini ==]
    <?php
        $sidebar = dirname(__FILE__).'/sidebar-'.$plxShow->staticId().'.php';
        if(file_exists($sidebar))
            include($sidebar);
        else
            include(dirname(__FILE__).'/sidebar.php');
    ?>
    
  • StéphaneStéphane Member, Former PluXml Project Manager
    @cpalo: passe plutot par un template de page statique, tu t'embeteras moins et tu pourras choisir le type d'affichage à partir de l'admin (pages statiques > options > déroulant template)

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Merci de ton conseil
    C'est ce que j'avais commencé à faire.
    Mais je voulais éviter la multiplication des sidebar, bien que ça ne prend pas de place en terme de taille.
    Par contre pour le contenu affiché, y-a-t-il une possibilité avec les paramètres, ou bien faut-il que je me lance dans une fonction avec des else if..
  • StéphaneStéphane Member, Former PluXml Project Manager
    dans ton fichier template, rien ne t'empeche à la place de
    <?php include(dirname(__FILE__).'/sidebar.php'); ?>
    
    de mettre en dur le code de la sidebar. ça t'évitera d'avoir un(des) fichier(s) sidebarxxxx.php supplémentaire(s).

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • cpalocpalo Member
    octobre 2013 modifié
    Je voulais parler de ce code
    
    [== Indéfini ==]
    <?php
        if($plxMotor->mode=='static' AND $plxMotor->cible=='002') {
            echo "Texte à afficher lors de la visualisation de la page statique 002";
       }
    ?>
    
    Parce qu'effectivement pour les différentes sidebar, code en dur.. pourquoi pas
Connectez-vous ou Inscrivez-vous pour répondre.