Modifier code d'appel pour CSS dans header

nmf
Petit nouveau ! | 3 Messages

21 août 2012, 15:55

Bonjour,

Je souhaiterais modifier le code suivant qui se trouve dans header.php. Il s'agit du code qui fait appel au fichier css. En fait, j'ai modifié le nom de mon fichier css (intentionnellement, pour forcer le cache de mes utilisateurs). Au départ le nom du fichier css est style.css mais dans mon code qui se trouve dans le header je ne retrouve pas la partie "style" donc je ne sais pas comment faire pour faire appel à mon nouveau fichier qui s'appelle style2.css

J'ai cru lire autre part qu'il fallait mettre des ? suivi d'un numéro mais je comprends pas trop. De plus, sur plusieurs sites il y a des réponses qui me semblent concluantes mais il s'agit en fait de chaque fois modifier dans le code l'emplacement où apparait le nom du fichier or je ne vois pas où apparait le nom de mon fichier.

Je suis sous wordpress. Comment puis-je modifier le code ci dessous pour qu'il fasse appel à mon fichier qui se nomme style2.css ?
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<?php $skin = get_option('cany_skin'); ?>
<link rel="stylesheet" href="<?php bloginfo("template_url"); ?>/css/<?php echo $skin;?>.css" type="text/css" media="screen" />
Merci beaucoup

ViPHP
xTG
ViPHP | 7331 Messages

21 août 2012, 16:47

Pas besoin de modifier le nom du fichier css, tu peux reprendre l'ancien nom qui est défini dans la configuration de ton blog.
Et avec un coup de rand() tu obtiens une url différente à chaque chargement de page :
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url') . "?" . mt_rand(); ?>" type="text/css" media="screen" />

nmf
Petit nouveau ! | 3 Messages

21 août 2012, 17:01

Merci pour la réponse,
J'ai peur qu'en faisant ça les navigateurs ne puissent pas sauvegarder le css dans le cache. Or, j'ai juste envie de forcer les navigateurs que une seule fois, pas à chaque fois.
D'où mon idée de nommer mon css différemment et de faire l'appel vers ce fichier.

J'ai vu des solutions avec des horodateurs etc, mais c'est trop compliqué. Je veux juste, une seule fois changer le lien vers mon css.
Est-il envisageable d'enlever cette partie du code et d'en remettre un plus simple ou bien je dois modifier obligatoirement cette structure qui me semble compliquée ?

ViPHP
xTG
ViPHP | 7331 Messages

22 août 2012, 06:46

Dans ce cas à la place du mt_rand tu mets un chiffre en dur que tu incrémentes toi même à chaque modification.

nmf
Petit nouveau ! | 3 Messages

22 août 2012, 15:14

Merci beaucoup pour la réponse. Pour être sûr que je ne fasse pas de bêtise. Donc disons qu'à la place du mt_rand je choisisse le chiffre 2. Où dans le nom du fichier dois-je mettre le 2 ? Si mon fichier est nommé style.css, dois-je le renommer 2.css ? style2.css ?...

Encore merci pour vos réponses

ViPHP
xTG
ViPHP | 7331 Messages

22 août 2012, 15:45

Où as-tu vu que je modifiais physiquement le nom de mon fichier dans l'exemple ?
Si mt_rand() renvoie une valeur aléatoire à chaque fois, crois-tu qu'il fasse créer autant de fichier qu'il existe de valeur aléatoire ? :mrgreen:

Le ? est l'opérateur d'argument dans une url, il vient donc après le nom physique du fichier.
C'est comme pour un script PHP si tu veux un exemple concret.
Quand on appelle index.php?p=1 il n'existe pas de fichier nommé index.php?p=1
C'est index.php tout court auquel on envoie la valeur p = 1.