Comment afficher le nom du thème dans un script php ?

FrédéricFrédéric Member
novembre 2009 modifié dans Entraide
Bonsoir,

J'aimerais créer une nouvelle variable permettant de choisir un fichier css.

Pour cela je m'aide de la fonction déjà existante à savoir function template.

Voici mon bout de code qui permet de définir met css grace à $plxMotor->style de la function template:
function construire_url($css) 
{ 
    return PLX_ROOT.'themes/'.$plxMotor->style.'/' . htmlspecialchars($css) . '.css'; 
} 
$css = array( 
    'green', 
    'orange', 
    'blue' 
);
Mais dés que je regarde le code source de ma page (qui n'émet aucunes erreur) j'obtiens :
<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="./themes//blue.css" />
Donc la le nom du thème ne s'affiche pas :( j'ai essayé avec PLX_ROOT.'themes/'.$plxMotor->template.' ou encore avec PLX_ROOT.'themes/'.$plxShow->template.' et enfin PLX_ROOT.'themes/'.$plxShow->style.' mais toujours pareil.

Je suis sur que c'est une coquille mais je vois vraiment pas comment afficher ce foutu nom de thème.

Please help me

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour mouflin

    La variable $plxMotor n'est pas connue dans ta fonction car c'est une variable locale à ta fonction. C'est donc normale qu'elle ne renvoit aucune valeur.

    Voilà ce qu'il faut faire:
    function construire_url($css) {
    global $plxShow;
    
    return PLX_ROOT.'themes/'.$plxShow->plxMotor->style.'/' . htmlspecialchars($css) . '.css'; 
    }
    
    Stéphane

    Consultant PluXml

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

  • StéphaneStéphane Member, Former PluXml Project Manager
    Cette variante fonctionne également:
    function construire_url($css) {
    global $plxMotor;
    
    return PLX_ROOT.'themes/'.$plxMotor->style.'/' . htmlspecialchars($css) . '.css'; 
    }
    

    Consultant PluXml

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

  • StéphaneStéphane Member, Former PluXml Project Manager
    Et pour rappel un sélecteur de thème est dispo sur le wiki à cette adresse

    Installer un sélecteur de thèmes

    Consultant PluXml

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

  • Mille merci Stéphane, je test ça.

    Sinon le sélecteur de thème s'affiche bien en effet sur pluxml 4.2 mais n'as aucune action en sélectionnant le thème.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Tu parles de quel sélecteur de thème ?

    Si c'est celui du wiki, je viens de le tester. Il fonctionne parfaitement avec la 4.2 de pluxml.
    nb: penser à mettre dans la sidebar de chaque thème
    <?php selectSkin(); ?>
    

    Consultant PluXml

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

  • En effet, l'include que j'ai mis au dessus au lieu d'en dessous des autres, pour çà que cela ne fonctionné pas :D.

    Sinon testé pour le global $plxMotor; et ca vas beaucoup mieux :)

    Je vous prépare l'adaptation d'un petit thème multicolore pour pluxml 4.2 grâce à cette fonction qui marche nickel maintenant.
Connectez-vous ou Inscrivez-vous pour répondre.