Menu pour plusieurs skins sur pluxml

J'aimerais savoir si le code pour pouvoir choisir sa skin sur pluxml est disponible,
et si oui, quel est'il ?
j'ai fait une recherche et bizarrement personne n'a posé la question! :P


Bref,
par quelle magie peut'on installer plusieurs skins et en permettre le choix aux visiteurs ? :D


Merci d'avance. ;)

Réponses

  • LaddyLaddy Member
    novembre 2006 modifié
    Bonjour
    le sujet a été abrodé dans la section skin : http://forum.pluxml.org/viewtopic.php?id=196
    Skyline a réalisé un switch je pense que tu devrais lui adresser un mail.
  • J'ai lu ce topic,
    je pensais intéressant pour tous que le système de menu soit proposé et expliqué.


    Si skyline pense qu'il vaut mieux ne pas le proposer,
    j'aimerais autant qu'il me le mail alors. :)
  • J'ai effectivement un petit bout de code qui sert à faire le skinswitcher mais comme c'est du bricolage j'ai peur pour le support après.
  • sentenzasentenza Member
    novembre 2006 modifié
    Le support ne devrait pas poser de problème
    et je l'aurais réalisé si j'avais trouvé dans quel sens chercher...

    N'hesite pas a me le mailer si ça ne te pose pas de problèmes. :)
    (cette feature est relativement importante pour moi ;) )
  • Hello All
    Voici la réponse du berger à la bergère
    Skyline a écrit:
    J'ai effectivement un petit bout de code qui sert à faire le skinswitcher mais comme c'est du bricolage j'ai peur pour le support après.
    Bon ben Skyline, j'en ai un qui me rends service avec cookie, je me permets de te le proposer ainsi qu'à la communauté et vous voyez s'il peut vous être utile ! (je l'ai en prod sur un de mes site perso sous pluxml) -> noteblog.fr côté cours et j'attends de finir la confection de mes 10 thèmes pour vous ouvrir le côté jardin non accessible en ce moment pour les raisons invoquées.

    Un peu d'explication théorique:
    Le fichier "index.php" de la racine comporte le code d'amorçage dépouillé de la licence pour raccourcir voici le code php:
    <?php
    if(!file_exists('pluxml/conf/config.xml')) {
    	header('Content-Type: text/plain');
    	echo "Pluxml n'est pas configuré\n";
    	echo "Executer le fichier install.php pour lancer l'installation";
    	exit;
    }
    
    # On inclut les librairies nécessaires
    include ('pluxml/lib/class.pluxml.php');
    include ('pluxml/lib/lib.util.php');
    include ('pluxml/lib/functions.php');
    
    # Création de l'objet principal
    	$pluxml = new pluxml('pluxml/conf/config.xml','pluxml/conf/categorie.xml');
    	$pluxml->mode(); # Définition du motif en fonction du mode
    
    if($pluxml->cat_all && $pluxml->all_files) {
    	$pluxml->cat_used = $pluxml->usedCategorie();
    	$pluxml->arrayFiles(); # Création du tableau des fichiers à traiter
    	$pluxml->pagination(); # Définition de la pagination
    	$pluxml->arrayArticles(); # Création du tableau d'articles à afficher
    }
    
    # Insertion du header
    if(isset($_GET['style']) && array($_GET['style'], $styles)) {
      setcookie('user_style', $_GET['style'], time() + 3000); // durée de vie calibrée sur 10 minutes => 3000sec
    }
    
    if(isset($_GET['style']) && array($_GET['style'], $styles)) {
      $user_style = $_GET['style'];
      }
        elseif(isset($_COOKIE['user_style'])) {
          $user_style = $_COOKIE['user_style'];
          } else {
            $user_style = 'default';
    }
    
    # Insertion du template
    include ('pluxml/templates/'.$pluxml->style.'/template.php');
    ?>
    
    Ce fichier remplace donc le fichier index.php à la racine de pluxml.
    Vous remarquez que j'ai préchoisi un thème se nommant 'default' comme celui fournit dans l'archive, ce sera donc le principal, ensuite il faut ajouter quelques lignes de codes dans le fichier template.php du dossier default.

    Voici la première partie du code à insérer juste sous la balise <link rel="stylesheet" ....>
    <?php
    $template = _glob('pluxml/templates','/(.*)/',1);
    foreach($template as $key => $values) {
      $styles[$values] = $values;
    }
    ?>
    
    Puis la seconde partie du code qui est le formulaire proprement dit:
    ligne de code à insérer entre la dernière balise fermante </div> et la balise fermante </body>
    <form action="" method="get">
     <fieldset id="selector">
     <p>Style du site</p>
       <select name="style">
    <?php
    foreach($styles as $key => $value) {
      if($key !== $user_style) {
        echo '   <option value="'.$key.'">'.$value.'</option>'."\n";
      }
        else {
        echo '   <option value="'.$user_style.'"selected="selected">'.$styles[$user_style].'</option>';
        }
    }
    ?>
       </select>
     <input id="input" type="submit" value=" Changer" title="Enregistrez votre sélection" />
     </fieldset>
     </form>
    
    Voila, je sais bien que je ne fait pas parti des développeurs de ton projet mais je suis pour le partage des infos dans l'esprit du monde libre :cool:

    Bien à toi et bonsoir à tous.
  • Merci pour cette contribution Balou ;)
  • Merci balou (tiens un autre catalan ? :p) je vais voir avec ça dans un premier temps!

    mais je pense aussi attendre le code "officiel" de skyline! :D
Connectez-vous ou Inscrivez-vous pour répondre.