Probleme beim CMS Made Simple 1.9.x Upgrade
Nach einem Upgrade auf die CMS Made Simple Version 1.9.2 einer mehr als zwei Jahre alten und von mir mit aktuellen CMSms-Upgrades gepflegten Site, stellte ich fest, dass
- die Seitenladezeit deutlich länger war, als bei der gleichen Site auf dem gleichen Server mit der Version 1.8.2,
- Umlaute und Sonderzeichen nicht korrekt angezeigt und
- das Menü nicht korrekt dargestellt wurde.
CMSms 1.9 langsamer als 1.8?
Nach Recherchieren und Nachfragen im CMSms-Forum konnte ich mit Hilfe des Forenmitglieds mike-r und dem Firefox-Add-on Firebug den Bremsklotz ausfindig machen. Es war der mittlerweile als obsolet gekennzeichnete Smarty-Tag {stylesheet}
. Dieser Tag sorgt dafür, dass im Seitentemplate die CSS-Stylesheets aus der Datenbank geholt und eingebunden werden. Ab Version 1.9 holt aber {stylesheet}
bei jedem Seitenaufruf alle CSS-Dateien neu aus der Datenbank und nicht aus dem Zwischenspeicher. Das resultiert in einer deutlich längeren Seitenladezeit. Teilweise ist eine Verdopplung der Seitenladezeit messbar.
Abhilfe schaffte hier die Umstellung auf den neuen Tag {cms_stylesheet}
. Dieser Tag holt die CSS-Dateien immer aus dem Zwischenspeicher (Cache), sofern sie dort bereits vorhanden sind. Beachten muss man allerdings, dass die relativen Pfade zu den Grafikdateien in den CSS-Stylesheets nicht mehr stimmen. D.h. CMSms sucht die Grafiken jetzt unterhalb des Cache-Verzeichnisses und wird verständlicherweise nicht fündig.
Um das zu korrigieren müssen den relativen Pfaden ein [[root_url]]/
vorangestellt werden. Wenn z.B dein bisherige CSS-Stylesheet folgende Zeile aufwies:
background: white url(images/titel.jpg) no-repeat;
musst du diese Zeile nach url(
mit [[root_url]]/
ergänzen:
background: white url([[root_url]]/images/titel.jpg) no-repeat;
Diese Änderung musst du für alle Pfade in allen CSS-Dateien vornehmen! Zu diesem Zweck ist es bei vielen solcher Einträge sinnvoll – nach Sicherung der CSS-Dateien (Datenbank) – die CSS-Stylesheets in einen Texteditor zu laden und einzeln mittels „Suchen und Ersetzen“:
Suchen nach: url(
Ersetzen mit: url([[root_url]]/
anzupassen und dann wieder zurück zu kopieren.
Diese Maßnahme müssen alle Anwender durchführen, die ältere CMSms-Installationen oder Themes verwenden, in deren Templates noch der alte {stylesheet}
Tag verwendet wurde.
Probleme können bei SSL-Seiten auftreten. Siehe dazu Correct understanding of SSL option and cms_stylesheet im CMSms-Forum.
Probleme mit Umlauten oder Sonderzeichen
Beim Upgraden auf die neue Version 1.9 funktioniert die Umstellung von CMSms auf deutsch, die ich in meinen How-To „CMS Made Simple in deutsch“ nicht mehr. Umlaute und Sonderzeichen wurden als weiße Fragezeichen in einer schwarzen Raute dargestellt. Hilfe gibt der Kommentar 7 meines o.g. How-To’s.
Menü wird nicht korrekt dargestellt
Dieses Problem dürfte wahrscheinlich bei fast keinem CMSms-Anwender aufgetreten sein. Ich beschreibe es hier inklusive der Lösung trotzdem, weil wenn ein solcher Fehler besteht, er schwer zu finden ist. Der Fehler wurde erst mit der Version 1.9 bei mir sichtbar, obwohl er schon sehr lange bei mir bestand.
Nach dem Upgrade auf Version 1.9 wurden einige CSS-Stylesheets beim Menü nicht wie bei früheren Versionen korrekt angewendet. Die Fehlersuche in dem entsprechenden Stylesheet brachte keinen Erfolg. Ein Fehler war dort nicht festzustellen.
Der Fehler lag in der Menütemplateverwaltung, die ich vor langer Zeit von Datei- auf Datenbankbetrieb umgestellt hatte. D.h. ich hatte das von mir verwendete Menütemplate mittels Datenbankimportfunktion in die Datenbank portiert. Leider hatte ich versäumt in den Seitentemplates im {menu}
Tag dies ebenfalls zu tun. Dort stand immer noch:
{menu template='simple_navigation.tpl'}
Die Endung .tpl
weißt darauf hin, dass hier das entsprechende Menütemplate von der Dateiversion geholt wird. Im Menümanager hatte ich aber die Datenbankversion eingestellt. So ist wohl das entsprechende Dateitemplate beim Upgrade überschrieben worden und passte nicht mehr zum CSS-Stylesheet. Nachvollzogen habe ich das allerdings nicht.
Das Ändern des {menu}
Tag Attributs „template“ in den verwendeten Templatenamen in allen verwendeten Seitentemplates löste das Problem.
{menu template='simple_navigation'}
Es hat sich für mich wieder mal gezeigt, wie sinnvoll eine zweite Kopie einer Site bei Updates bzw. Upgrades ist. Dort konnte ich in Ruhe ausprobieren, ob ein Update/Upgrade korrekt funktioniert und die nötigen Umstellungen nach und nach vornehmen und testen, bevor ich das Upgrade der Produktivsite vornahm.
Interessante Links
- „Seite sehr langsam“ im CMSms-Forum
- „Correct understanding of SSL option and cms_stylesheet“ im CMSms-Forum
Hallo,
der Tipp mit dem Menü hat mein Leben gerettet.
Klasse Know-How. Ich habe mich tagelang mit dem Stylsheet rumgeärgert und die Lösung war doch so einfach.
Die betroffene Webseite umfassst ca.1000 Seiten mit 4 Menües und ist mehrssprachig aufgebaut. Sie wird gerade von 1.8.2 auf 1.10.3 hochgezogen.
http;//sembach.de (aber noch nicht umgeschaltet)
Danke
Martin