Seite 1 von 1

Joomla CSS Datein verschmelzen?

Verfasst: 01.09.2012, 12:40
von Mr.Mirko
Hi Leute,

Die Ladezeiten von Joomla sind teilweise doch sehr bedauerlich. Durch harte Arbeit konnte ich diese innerhalb eines Tages von 51 auf 69 erhöhen. Mein Ziel ist es aber die 80 zu erreichen. Zur Messung nutze ich das PageSpeed-Plugin von Firebug.

Meine Frage nun hat schon mal jemand von euch versucht alle relevanten CSS Dateien zu einer zu verschmelzen?

Und hat dies zu einem Erfolg bezüglich der Ladezeiten geführt?


Lg Mirko

Verfasst:
von

Verfasst: 01.09.2012, 15:34
von om-labs
Ja
nicht nur versucht sondern auch hinbekommen und die Ladezeit wird dann schneller, wenn man es richtig macht und vorher und nacher entsprechend auswertet.

Sowohl für JS und CSS gibt es unteschiedliche Compiler mit unterschiedlichen Ansätzen.
das musst du dich dann selber schlau machen.

Verfasst: 03.09.2012, 21:46
von Mr.Mirko
Vielen dank für deine Antwort ... mein erster Test ging zwar in die Hose und hat ca. 5h gedauert aber wenn ich weiss das es hier schon Erfolge gab werde ich selbstverständlich weiter tüffteln so wie ich mal wieder Zeit dafür habe.

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 04.09.2012, 10:31
von thomas_x3
Ich hab's damit bei meinen CSS Dateien versucht:
https://www.phpgangsta.de/externe-javas ... mmenfassen

Aber ehrlich gesagt, irgendwas hat da auch bei mir nicht funktioniert. Die ganzen CSS Regeln wurden damit einfach nur als Plain Text im Browser ausgegeben und das Layout ging natürlich flöten...

Verfasst: 04.09.2012, 15:01
von Melegrian
thomas_x3 hat geschrieben:Aber ehrlich gesagt, irgendwas hat da auch bei mir nicht funktioniert. Die ganzen CSS Regeln wurden damit einfach nur als Plain Text im Browser ausgegeben und das Layout ging natürlich flöten...
Das sind 3 verschiedene Listings untereinander, die optisch den Eindruck erwecken, als würde es sich um ein in sich geschlossenes Listing handeln, weil die Kommentare zwischen den Listings fehlen. Erkennst Du aber an den Zeilennummern, dass es jeweils wieder bei 1 beginnt. Das erste Listing fängt mit einem HTML-Tag an (Zeile 1 bis 12) und wird eigentlich nicht benötigt. Das zweite (Zeile 1 bis 14) und dritte Listing (Zeile 1 bis 7) jeweils mit einem PHP-Tag.

Benutze das zweite oder dritte Listing hintereinander und nicht beide gleichzeitig, begutachte die zusammengefassten Dateien im Browser und wenn sie Dir gefallen, speichere sie halt als neue CSS oder JS Files ab. Falls beide Scripts das Speichern gleich miterledigen sollen, sollte es reichen, wenn beide Zeilen wie folgt ergänzt werden:

Code: Alles auswählen

echo $output;
file_put_contents("meine-neue.js", $output);
...
echo $output;
file_put_contents("meine-neue.css", $output);
Du könntest es aber auch wie im Beispiel machen und die unteren beiden Listings gleich als PHP Files einbinden.

Code: Alles auswählen

<link rel="stylesheet" type="text/css" href="css/css.php">
<script type="text/javascript" src="js/js.php">
Dazu müsstest Du aber auch das zweite Listing als css.php im Verzeichnis css und das dritte Listing als js.php im Verzeichnis js abspeichern. Also, um das Abspeichern kommst Du so oder so nicht herum.

Beim Zusammenführen von JS Files aus unterschiedlichen Quellen könnte es jedoch passieren, dass gleichlautende Bezeichner für globale Variablen benutzt wurden. Die würden zwar auch ärgern, wenn alle 5 Files hintereinander eingebunden würden, doch in einer einzigen komprimierten JS File blickt man schwerer durch. In komprimierten CSS Styles findet man ebenso kaum einen Fehler. Somit wäre die Variante mit der Zusammenführung zur Laufzeit mit css.php und js.php schon ganz gut, da dann in allen Dateien ganz normal nach Fehlern gesucht werden könnte und Änderungen möglich wären.

Habe es gerade mal getestet, funktioniert problemlos.

Datei abgespeichert als neu.php:

Code: Alles auswählen

<?php
header&#40;"Content-Type&#58; text/css"&#41;;
 
$alt =  file_get_contents&#40;"styles-1.css"&#41;;
$alt .= file_get_contents&#40;"styles-2.css"&#41;;
 
echo $alt;
?>
Eingebunden mit neu.php:

Code: Alles auswählen

<link rel="stylesheet" type="text/css" href="neu.php">
Würde da aber auf jeden Fall noch eine Abfrage einbauen, wie:

Code: Alles auswählen

if &#40;file_exists&#40;"styles-1.css"&#41;&#41; &#123;
&#125;
Und das würde ich mit allen Files so machen.

Verfasst: 04.09.2012, 16:21
von thomas_x3
Wow, danke für die umfassende Antwort! :)

Verfasst: 04.09.2012, 20:16
von Mr.Mirko
Vielen dank für die Info´s zu dem Thema .... ich habe zwar noch ganz viele andere Defizite dieser Seite zu bearbeiten und momentan das Problem mit diversen PlugIns´s beseitigt aber in 1-2 Monaten werde ich auch diese Variante mal testen!