PrestashopUser03 Posted July 15, 2019 Share Posted July 15, 2019 Bonjour à tous, J'ai un petit problème car les modifications que je fais sur le fichier local theme.css sont parfaitement prises en compte mais dès que je le passe en ligne sur le ftp, plus du tout (pas de problème de cache, je travaille sans et je fais des tests multi navigateurs en navigation privée). Lorsque je supprime le fichier theme.css du site, celui-ci apparait en full html (sans aucune modifications de style), mais lorsque je remets un fichier theme.css vide, le site réapparait en parfait état alors que le fichier est vide. A quoi est-ce dû, y a-t-il un autre fichier qui gère les styles? Merci d'avance. Link to comment Share on other sites More sharing options...
Divine Posted July 16, 2019 Share Posted July 16, 2019 Bonjour, Tu utilises le thème par défaut de Prestashop ou un thème personnalisé ? Link to comment Share on other sites More sharing options...
PrestashopUser03 Posted July 18, 2019 Author Share Posted July 18, 2019 Bonjour, et merci pour cette réponse, j'utilise un thème personnalisé. Link to comment Share on other sites More sharing options...
Vico_b Posted July 18, 2019 Share Posted July 18, 2019 ctrl+f5 ne fait pas le job tu es sur ? Tu es sur d'avoir choisis l'option "Forcer la compilation" dans les paramètres avancés ? Si ça n'est pas le cas, fait le et refait un ctrl-f5 Link to comment Share on other sites More sharing options...
PrestashopUser03 Posted July 18, 2019 Author Share Posted July 18, 2019 Bonjour, Non seulement c'est fait mais en plus le cache est désactivé ; la navigation privée ne fonctionne pas non plus, j'ai l'impression que le cache du serveur se vide de façon aléatoire. Ce matin, quand j'ai été sur le site, les modifs d'hier ont été prises en compte, c'est pas idéal surtout que je procède souvent à des changements de style sur le site. Link to comment Share on other sites More sharing options...
Vico_b Posted July 18, 2019 Share Posted July 18, 2019 (edited) Oui il est possible que ton hébergeur mette en cache les fichiers de script (surtout dans le cas d'un serveur mutualisé) Tu peux suivre cette piste et demander à ton hébergeur. Pendant le dev sinon, si tu veux forcer la maj, tu peux donner une url différente pour forcer la récupération du script. Tu vas dans le fichier stylesheets.tpl (dans _partial de ton theme pour la 1.7 sinon à la racine il me semble) tu localise le code qui ressemble à : <link rel="stylesheet" href="{$stylesheet.uri}" type="text/css" media="{$stylesheet.media}"> et tu ajoute ?v={$smarty.now} à la fin de l'url. Comme ceci <link rel="stylesheet" href="{$stylesheet.uri}?v={$smarty.now}" type="text/css" media="{$stylesheet.media}"> Ca va forcer la mise a jour de tous tes css tout le temps. Penses à le retirer quand tu as fini car sinon tes clients vont télécharger tous les css à chaque visite (et en plus google n'aime pas trop qu'on embête les utilisateurs avec des duplicata de script identique ou quasi identique ) Edited July 18, 2019 by Vico_b (see edit history) Link to comment Share on other sites More sharing options...
Vico_b Posted July 18, 2019 Share Posted July 18, 2019 Oui il est possible que ton hébergeur mette en cache les fichiers de script (surtout dans le cas d'un serveur mutualisé) Tu peux suivre cette piste et demander à ton hébergeur. Pendant le dev sinon, si tu veux forcer la maj, tu peux donner une url différente pour forcer la récupération du script. Tu vas dans le fichier stylesheets.tpl (dans _partial de ton theme pour la 1.7 sinon à la racine il me semble) tu localise le code qui ressemble à : <link rel="stylesheet" href="{$stylesheet.uri}" type="text/css" media="{$stylesheet.media}"> et tu ajoute ?v={$smarty.now} à la fin de l'url. Comme ceci <link rel="stylesheet" href="{$stylesheet.uri}?v={$smarty.now}" type="text/css" media="{$stylesheet.media}"> Ca va forcer la mise a jour de tous tes css tout le temps. Penses à le retirer quand tu as fini car sinon tes clients vont télécharger tous les css à chaque visite (et en plus google n'aime pas trop qu'on embête les utilisateurs avec des duplicata de script identique ou quasi identique ) 1 Link to comment Share on other sites More sharing options...
Traineau Posted July 18, 2019 Share Posted July 18, 2019 Bonjour, j'avais également un problème à ce niveau : Je travaille en local avec une config basé sur Docker, ainsi qu'un theme custom. Lorsque je compile mon sous dossier _dev en assets, la compilation se passe bien et un fichier theme.css est bien créé avec les nouvelles règles spécifiés dans les fichiers saas de mon dossier _dev, mais j'ai remarqué le comportement suivant : - Si une nouvelle règle est créé ou supprimé, par exemple si j'ajoute un background-color vert sur mon body alors qu'il n'y en avait auparavant pas, mon body devient effectivement vert après compilation. Si je supprime cette règle, le body redevient blanc (couleur par défaut) - Si cependant j'avais un body en vert, et que je change cette règle pour le passer en rouge, la modification n'opère pas il reste vert. Pourtant le fichier theme.css contient bien cette règle, mais ça ne change rien sur la page. J'ai beau supprimer le cache, recompiler, ça ne change rien. Par contre si je down mes containers docker et que je les relance, la modification est prise en compte La solution de Vico_b a l'air de fonctionner mais je trouve ce comportement tout de même très étonnant... Link to comment Share on other sites More sharing options...
Vico_b Posted July 18, 2019 Share Posted July 18, 2019 (edited) Ca dépend, votre css vient d'un sass ou autre ? ou bien c'est du css natif ? Si c'est du css natif, symfony(en 1.7 mais c'est pareil avec le php de 1.6 et moins) ne va rien compiler, c'est donc le container qui va déterminer si il y a du changement. normalement si vous tapez green pour votre background et que vous le changez en #44 vous devriez noter un changement. Attention, ma solution ne sert qu'à avancer !! Ne pas utiliser cela en prod car comme je l'ai dit les utilisateurs recevront le css à toutes les pages/rafrachissement qu'ils vont faire. Donc c'est bien pour le dev mais il faut corriger la source de vos problèmes de caching (et ne cherchez pas coter prestashop ou symfony si vous etes en 1.7, ça vient de votre solution serveur) Edited July 18, 2019 by Vico_b (see edit history) Link to comment Share on other sites More sharing options...
Traineau Posted July 18, 2019 Share Posted July 18, 2019 Mon saas est compilé en css, on est donc bien sur du css natif. 1 hour ago, Vico_b said: normalement si vous tapez green pour votre background et que vous le changez en #44 vous devriez noter un changement. Et c'est bien la le soucis, il n'y a aucun changement si je change une couleur existante par exemple. Je vais chercher comme vous l'avez dit si il y a un problème de caching/compilation quelque part pour éviter ce rafraichissement spartiate du css (et non je ne le mettrai pas en prod bien sûr 😛 ) Je vous tiens au courant si je trouve la solution Link to comment Share on other sites More sharing options...
Vico_b Posted July 18, 2019 Share Posted July 18, 2019 hold on, si vous aviez green (en toutes lettres) et que vous changez pour #44 (hexa) ça ne bouge pas ? Link to comment Share on other sites More sharing options...
Traineau Posted July 18, 2019 Share Posted July 18, 2019 Et bien bonne question parce que je viens de retester en retirant la modification dans le stylesheets.tpl, et la tout marche nickel... Je n'ai pourtant touché à rien 🤷♂️ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now