"echo" dans un fichier ".css" ne marche pas :(

Résolu
matmat8888 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
matmat8888 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

voilà j'ai un soucis avec mon fichier ".css" ci-dessous, en effet à la place de "Heure :" je voudrais pouvoir insérer un "echo" du genre <?php echo _HEURE_LOC; ?> mais ça ne marche pas :( Savez-vous pourquoi ?

Mon fichier langue est dans "../lang.php" et mes fichiers langues sont dans "../lang/fr.php".

// Début fichier "styles.css"

.rd-container {

margin-top: -393px;
margin-left: -41px;
box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.51), 0px 1px 6px rgba(0, 0, 0, 0.51);
border: solid 5px #ffffff;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
}

.rd-time-option, .rd-time-selected {
padding: 5px;
box-shadow: inset 1px 1px 1px rgba(0,0,0,0.51);
}

.rd-day-body:hover,.rd-time-selected:hover{
background-color:#50C2C8;cursor:pointer;
}

.rd-time:before {
content:"Heures :"
}
.rd-time{
width: 100%;
}
.rd-time-selected{

width: 50%;
float: right;
}

// Fin fichier "styles.css"


Un grand merci d'avance pour vos réponses !

Mathieu

4 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Une autre solution simple est de déclarer plusieurs classes css avec le tag de langue puis d'utiliser php pour modifier la classe à utiliser dans le html.
Par exemple :
.rd-time-fr:before {
content:"Heures :"
}
.rd-time-en:before {
content:"Hours :"
}

<div class="rd-time-<?php echo $lang; ?>">


Bonne journée,
1
matmat8888 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
merci je vais essayer comme ca ! :)
0
Flachy Joe Messages postés 2102 Date d'inscription   Statut Membre Dernière intervention   260
 
On peut bien créer du css dynamiquement en php mais pour que ce soit interprété, il faut que ça soit dans un fichier .php (ou alors modifier la config du serveur pour que les fichier .css soit interprétés aussi) donc

Fichier style_css.php
<?php header("Content : text/css") ?>
//[...]
.rd-time:before {
content:"<?php echo $HEURE ?>"
} 

1
matmat8888 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
merci :)
0
Dinath Messages postés 1602 Date d'inscription   Statut Contributeur sécurité Dernière intervention   218
 
Salut,

Normal, CSS n'est pas interprété, il est rendu tel quel par le serveur, c'est le navigateur qui le lit et l'interprête.

Tu dois utiliser une favirable dans ton fichier, comme $VAR.

Au moment où ta page est appelé, tu lis le contenu de tout fichier CSS. Tu fais un replace de $VAR par ton heure.

Tu réécris le contenu dans le fichier .css

:)
0
matmat8888 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
merci :)
0
matmat8888 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention  
 
Salut Dinath,

merci pour ta réponse, si je comprend bien je dois modifier :

1) dans mon.css

content:"Heures :" -->> content:$VAR

2) dans mon .php ajouter une ligne comme ceci :

$VAR = <?php echo _HEURE_LOC ?>;

sachant que pour l'instant mon .php a cette ligne :

<link href="build/css/styles.css" rel="stylesheet">

Merci d'avance ! :)

Mathieu
0
Dinath Messages postés 1602 Date d'inscription   Statut Contributeur sécurité Dernière intervention   218
 
Ah la la non non non :)

https://www.php.net/manual/fr/function.file-get-contents.php

Regarde bien ce que j'ai écrit :)
0
firewalk
 
quelle étrange idée du php dans du CSS...
Vous manquez clairement de notions de bases sur ces langages.

Encore plus simple c'est faire l'inverse:

<?

echo '<p >'.mavariable_a_afficher.'</p>';
?>

et pour le style

<?


var $monstyle='classepardefaut';
if($mavariable>12){$monstyle='apresmidi';};
echo '<p class='.$monstyle.'>'.mavariable_a_afficher.'</p>';
?>
0