Css Änderung ohne Refresh im Browsercache leeren

Herzog

Aktives Mitglied
2. August 2011
103
0
Hallo,
ich möchte gerne den Browsercache per Befehl in der header.tpl bei Css änderungen automatisch leeren. Habe auch schon etwas gefunden:
HTML:
<link href="style.css?<?php echo filemtime('/server/path/to/css/file/style.css'); ?>"  rel="stylesheet" type="text/css" />

hab das auch schon für den Pfad angepasst, aber es wird der Befehl <?php ?> in der href nicht erkannt.

Hat jemand eine Idee warum?????
 

Horttcore

Aktives Mitglied
2. November 2009
19
0
Saarbrücken
Firma
razzi 2k2
AW: Css Änderung ohne Refresh im Browsercache leeren

Problem ist, dass es keine .php Datei ist die geparst wird sondern eine .tpl in der nur SMARTY Tags geparst werden.
Wobei ich immer noch keinen Sinn hinter SMARTY entdecken kann, aber das ist halt bei JTL so...
 

Herzog

Aktives Mitglied
2. August 2011
103
0
AW: Css Änderung ohne Refresh im Browsercache leeren

Dann müsste ich den Befehl in einer .php schreiben und in einem Smarty-Befehl verpacken? Und diese dann in die header.tpl
 

casim

Sehr aktives Mitglied
26. Juni 2012
5.934
10
AW: Css Änderung ohne Refresh im Browsercache leeren

Wobei ich immer noch keinen Sinn hinter SMARTY entdecken kann, aber das ist halt bei JTL so...

diese Aussage ist quatsch

1. ist es nicht "nur bei JTL" so. Ab der Kategorie "halbwegs vernünftige Shop- oder auch CMS-Systeme" setzt man Smarty ein (kommst du aus der OSC/XTC-Wlet...dann natürlich nicht, aber die zählen auchnicht zu dieser Kategorie) 🙂

2. durch smarty erreichst du eine vernünftige Trennung zwischen Logik und Design
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.774
830
AW: Css Änderung ohne Refresh im Browsercache leeren

Und ich finde den modularen Aufbau einfach nur GENIAL! Ich HASSE jetzt XTC und CO 🙂

@TE
schau mal im Developer-Bereich, da sollte dir geholfen werden ...
 

Herzog

Aktives Mitglied
2. August 2011
103
0
AW: Css Änderung ohne Refresh im Browsercache leeren

So hab eine Lösung gefunden. Man kann in Smarty einen php-Code direkt einbetten mit {php}{/php}. Somit wäre der Code:
Code:
[COLOR=#000080]<link href=[COLOR=#0000FF]"style.css?[/COLOR][/COLOR]{php}[COLOR=#000080][COLOR=#0000FF]echo filemtime('/server/path/to/css/file/style.css')[/COLOR][/COLOR]{/php}[COLOR=#000080][COLOR=#0000FF]"[/COLOR]  rel=[COLOR=#0000FF]"stylesheet"[/COLOR] type=[COLOR=#0000FF]"text/css"[/COLOR] />[/COLOR]

Hab das getestet und es hat geklappt!
 

casim

Sehr aktives Mitglied
26. Juni 2012
5.934
10
AW: Css Änderung ohne Refresh im Browsercache leeren

aufpassen ... php-Tag innerhalb von Smarty ist in der aktuellen Version deprecated.

Sollte JTL in einem zukünftigen Update auf die neue smarty-Version wechseln, dann wird dein Code nicht mehr passen
 

Visitmedia

Offizieller Service Partner
SPBanner
17. September 2011
271
14
AW: Css Änderung ohne Refresh im Browsercache leeren

Gibt es denn hier Auswirkungen auf die Performance? Und wird die Datei dann immer beim User überschrieben, wenn diese auf dem Server verändert wurde, sodass der User die Änderungen sofort sieht? Auch wenn er in einer Session ist?
 

Herzog

Aktives Mitglied
2. August 2011
103
0
AW: Css Änderung ohne Refresh im Browsercache leeren

In der Session: Nein. Nur wenn man nochmal auf die URL zugreift. Performence keine Auswirkung, da nicht bei jedem Besuch neu gecached wird, sondern nur bei einer Veränderung. Also siht der User die Veränderung auch jedes Mal.
 

Herzog

Aktives Mitglied
2. August 2011
103
0
AW: Css Änderung ohne Refresh im Browsercache leeren

aufpassen ... php-Tag innerhalb von Smarty ist in der aktuellen Version deprecated.

Sollte JTL in einem zukünftigen Update auf die neue smarty-Version wechseln, dann wird dein Code nicht mehr passen

Macht aber nichts, da auch ohne die {php} die Css angesteuert wird nur mit einer längeren Signatur