Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
- Links zu: Aktiven | Unbeantworteten
- Übersicht
- »
- »
1
#1 18. Juli 2013 23:08
- rolwalca
- arbeitet mit CMSMS
- Registriert: 27. April 2011
- Beiträge: 104
Re:
Hallo zusammen,
ich bekomme folgende Fehlermeldung wenn ich im Backend Seiten editieren möchte:
Fatal error: Call to a member function TemplateId() on a non-object in....../plugins/function.stylesheet.php on line 56
in der function.stylesheet.php steht in Zeile 56:
$template_id=$content_obj->TemplateId();
if (isset($params["templateid"]) && $params["templateid"]!="") {
$template_id=$params["templateid"];
}
Stimmt der Eintrag nicht? Was tun?
Offline
#2 18. Juli 2013 08:00
- NaN
- Moderator

- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.058
Re:
function.stylesheet.php
Welche CMS Version?
Module: GBFilePicker, AdvancedContent, FEUMailer
Plugins: AjaxTools, XajaxTools
Sicherheit: Beispiel .htaccess-Datei
Offline
#3 18. Juli 2013 08:10
- rolwalca
- arbeitet mit CMSMS
- Registriert: 27. April 2011
- Beiträge: 104
Re:
1.11.7
Offline
#4 18. Juli 2013 09:47
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.384
Re:
Müsste bei 1.11.7 nicht function.cms_styleheet.php verwendet werden?
In der Template also {cms_stylesheet}
Deine function.stylesheet.php scheint noch von CMSMS 1.9.4.3 zu sein!
Beitrag geändert von Klenkes (18. Juli 2013 09:51)
Offline
#5 18. Juli 2013 10:32
- rolwalca
- arbeitet mit CMSMS
- Registriert: 27. April 2011
- Beiträge: 104
Re:
Ich habe kürzlich ein Update durchgeführt. Wahrscheinlich von der 1.9.4.3 auf die aktuelle Version.
Danach tauchten auch kurzzeitig Probleme mit der fehlenden Zeitzonenangabe in der config.php auf.
(Link)
Offline
#6 18. Juli 2013 10:41
- rolwalca
- arbeitet mit CMSMS
- Registriert: 27. April 2011
- Beiträge: 104
Re:
Ja stimmt tatsächlich. Im Template stand noch {stylesheet} statt {cms_stylesheet}.
Jetzt läuft´s
Vielen Dank.
Müsste das bei einem Upgrade nicht automatisch geändert werden? Egal, ich schreib´s mir hinter die Ohren.
Offline
#7 18. Juli 2013 11:04
- Klenkes
- Server-Pate

- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.384
Re:
Müsste das bei einem Upgrade nicht automatisch geändert werden?
Deine Templates must du schon selber durchgehen und nachschauen.
Aber eine Warnung des Updatescripts wäre sicherlich eine gutes Feature gewesen.
Offline
#8 18. Juli 2013 11:36
- rolwalca
- arbeitet mit CMSMS
- Registriert: 27. April 2011
- Beiträge: 104
Re:
Was mich wundert: obwohl nur {stylesheet} im Template stand hat es im Frontend einwandfrei funktioniert.
Also hat er die CSS-Datei ja doch irgendwie gefunden.
Nachtrag (vielleicht hilft´s jemandem): Natürlich musste ich nicht nur {stylesheet} durch {cms_stylesheet} im Template ersetzen sondern in der CSS-Datei auch noch für die Hintergrundbilder:
[== url(uploads/images.... ==]durch
url([[root_url]]/uploads/images... Offline
#9 18. Juli 2013 12:58
- NaN
- Moderator

- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.058
Re:
Was mich wundert: obwohl nur {stylesheet} im Template stand hat es im Frontend einwandfrei funktioniert.
Also hat er die CSS-Datei ja doch irgendwie gefunden.
Um das Paradoxe an dieser Sache zu verstehen, musst Du einfach nur verstehen, dass es einen Unterschied zwischen der Verarbeitung des Seitentemplates im Frontend und im Backend gibt. Bei CMSms < 1.11 war dieser Unterschied sogar gravierend. Das Template wurde im Backend überhaupt nicht verarbeitet. Man hat lediglich nach {content ...} gesucht, um die Editor-Felder für die Inhaltsblöcke anzuzeigen. Das war's dann auch schon. Nix Smarty. Dadurch waren aber auch keine verschachtelten Templates möglich.
Ab CMSms 1.11 wird Smarty aber auch im Backend verwendet, um die Inhaltsblöcke auszulesen. D.h. das komplette Template wird beim Bearbeiten einer Seite von Smarty ganz normal kompiliert. Dadurch werden auch Plugins wie z.B. {stylesheet} im Template ausgelöst. Aber im Backend gibt es nicht alle Variablen wie im Frontend. Im Backend gibt es z.B. im Template kein {$content_obj}, weshalb Seiten, in deren Template ungeprüft auf diese Variable zugegriffen wird - weil sie ja im Frontend immer vorhanden war und das Backend bisher damit nichts zu tun hatte - ebenfalls nicht mehr bearbeitet werden können. Die Funktion cms_utils::get_current_content() gibt im Backend außerdem immer NULL zurück anstelle des Inhaltsobjektes. Da die alte Stylesheet-Funktion aber auf dieses Objekt zugreifen will, ohne zu prüfen, ob es überhaupt verfügbar ist (war ja bisher nie nötig - im Frontend ist schließlich immer ein Content-Object, sonst wären wir garnicht erst dabei, dessen Template zu verarbeiten und das Stylesheet zu laden), kommt es zu einem Fehler. Aber eben nur im Backend.
Module: GBFilePicker, AdvancedContent, FEUMailer
Plugins: AjaxTools, XajaxTools
Sicherheit: Beispiel .htaccess-Datei
Offline
#10 18. Juli 2013 16:22
- rolwalca
- arbeitet mit CMSMS
- Registriert: 27. April 2011
- Beiträge: 104
Re:
Danke für die ausführliche Erklärung.
Offline
1
- Übersicht
- »
- »