CSS dynamique : problème

theodelacharie Messages postés 4 Statut Membre -  
rbou Messages postés 113 Statut Membre -
Bonjour,

Je suis en train de mettre en place un système de css dynamique. Cela ne fonctionne pas pour l'instant et j'ai donc besoin de vos lumières.

Voila où j'en suis pour l'instant :

- fichier index.php, où je souhaite que les styles soient appliqués :
<head>

<link rel="stylesheet" type="text/css" media="screen" href="\css\css.php">

</head>

<body>

...


==> Ca, ça fonctionne, le fichier test.php est bien appelé.

- fichier params.ini, où sont stockés mes paramètres :
bgcolor=#40A497


- fichier css.php :

<?php 
header("Content-type: text/css"); 
$bg_color = $this->params->get('bgcolor');
?>



#page_bg {
	background: <?=$bg_color?>;
}


==> là ça coince ! Le css est bien appellé, car si je mets un code couleur à la place de <?=$bg_color?>, il s'applique. Mais le code d'appel du paramètre ne fonctionne pas...

Je suis un peu perdu : qu'est ce qui ne va pas dans mon code ?

Merci beaucoup pour votre aide.

Théo

7 réponses

  1. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Tu as regardé ce qui sortait du code : $bg_color = $this->params->get('bgcolor'); ?

    Parce que si ça se trouve il ne récupère rien, donc pas de couleur.
    0
  2. theodelacharie
     
    Bonjour, merci pour ta réponse.

    Non, je n'ai pas vérifié : comment faire, t'as une idée ?

    Merci pour ton aide.
    0
    1. rbou Messages postés 113 Statut Membre 15
       
      echo, print_r etc
      0
  3. theodelacharie
     
    OK.

    Ca fonctionne, le paramètre est bien appellé.

    Par contre, j'ai l'impression que c'est le css qui refuse de s'apliquer dès que j'ajoute le code : $bg_color = $this->params->get('bgcolor');

    Si mon fichier css.php contient :
    <?php 
    header("Content-type: text/css"); 
    $bg_color = $this->params->get('bgcolor');
    ?>
    
    
    
    #page_bg {
    	width: 940px;
    	height: 100%;
    	padding: 10px;
    	margin: 0 auto;
    	background: #40A497;
    }


    Le background ne s'affiche pas.

    Par contre, si j'insère ce code :

    <?php
    header("Content-type: text/css");

    ?>

    #page_bg {
    width: 940px;
    height: 100%;
    padding: 10px;
    margin: 0 auto;
    background: #40A497;
    }

    Ca marche...
    0
  4. theodelacharie
     
    Si je charge le css.php dans le navigateur, j'obtiens ceci :
    <br />
    <b>Fatal error</b>: Using $this when not in object context in <b>C:\xampp\htdocs\EasyWebSite\templates\wm_01_j15\test.php</b> on line <b>3</b><br />

    Si ça te dis quelques chose...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. theodelacharie
     
    Up !

    Je suis toujours coincé... Help !

    Merci beaucoup à tous.
    0
  7. rbou Messages postés 113 Statut Membre 15
     
    envoie le code de ton fichier test.php
    0
  8. theodelacharie
     
    Voila mon code :

    <?php
    header("Content-type: text/css");
    $bg_color = $this->params->get('bgcolor');
    ?>

    #page_bg {
    width: 940px;
    height: 100%;
    padding: 10px;
    margin: 0 auto;
    background: #40A497;
    }
    0
    1. rbou Messages postés 113 Statut Membre 15
       
      et ta classe elle fait quoi ?
      0