Les Allergies
Alimentaires
Posez votre question Signaler

CSS dynamique : problème

theodelacharie 4Messages postés 7 mars 2011Date d'inscription 7 juin 2011Dernière intervention - Dernière réponse le 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
Lire la suite 

CSS dynamique : problème »

9 réponses
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour, merci pour ta réponse.

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

Merci pour ton aide.
rbou- 13 mai 2011 à 14:10
echo, print_r etc
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
Up !

Je suis toujours coincé... Help !

Merci beaucoup à tous.
Ajouter un commentaire
Réponse
+0
moins plus
envoie le code de ton fichier test.php
Ajouter un commentaire
Réponse
+0
moins plus
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;
}
rbou- 20 mai 2011 à 12:09
et ta classe elle fait quoi ?
Ajouter un commentaire
Ce document intitulé « CSS dynamique : problème » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?