Tout comme HTML, un fichier CSS peut-être rendu dynamique, et voir son contenu totalement intégré à un possible back-office : l'administrateur du site n'a donc plus à fignoler avec un éditeur de texte pour modifier une couleur.
Pour convertir un fichier CSS en PHP, il suffit de passer son extension en .php (de style.css à style.php, par exemple), et de mettre en toute première ligne l'entête HTTP suivant :
<?php header("Content-type: text/css"); ?>
Le modèle de page HTML appellera ensuite directement le fichier via une balise link:
<link rel="stylesheet" type="text/css" media="screen" href="style.php">
Le contenu de style.php peut dès lors être parfaitement dynamique :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php
header("Content-type: text/css");
require_once("options.php");
?>
body {
background: <?=$cssBodyBackground ?>;
color: <?=$cssBodyColor?>;
}
h1, h2, h3, h4 {
color: <?=$cssHColor?>;
}
blockquote {
color: <?=$cssBlockquoteColor ?>;
} |
Attention cependant : le fichier CSS devra être généré à chaque chargement de page, et non "caché" en mémoire comme tout fichier statique. Une CSS dynamique doit donc répondre à un besoin précis.
Une solution serait, alors, d'ajouter un entête au fichier :
<?php header("HTTP/1.0 304 Not Modified"); ?>
Le code 304 permet d'indiquer au navigateur que la page n'a pas été modifiée depuis le dernier chargement, et qu'il peut donc utiliser la version stockée dans son cache...
Partager