CSS dynamique : problème

Fermé
theodelacharie Messages postés 4 Date d'inscription lundi 7 mars 2011 Statut Membre Dernière intervention 7 juin 2011 - 11 mai 2011 à 22:46
rbou Messages postés 94 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 26 juillet 2011 - 20 mai 2011 à 12:09
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

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
11 mai 2011 à 23:13
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
theodelacharie
13 mai 2011 à 14:06
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
rbou Messages postés 94 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 26 juillet 2011 15
13 mai 2011 à 14:10
echo, print_r etc
0
theodelacharie
13 mai 2011 à 15:45
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
theodelacharie
13 mai 2011 à 15:48
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
theodelacharie
17 mai 2011 à 16:10
Up !

Je suis toujours coincé... Help !

Merci beaucoup à tous.
0
rbou Messages postés 94 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 26 juillet 2011 15
18 mai 2011 à 12:35
envoie le code de ton fichier test.php
0
theodelacharie
18 mai 2011 à 13:59
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
rbou Messages postés 94 Date d'inscription mercredi 11 mai 2011 Statut Membre Dernière intervention 26 juillet 2011 15
20 mai 2011 à 12:09
et ta classe elle fait quoi ?
0