Template Fehlermeldungen

Moin, zusammen!

Ich hätte da mal eine Frage: Wie finde ich Fehler in meinen Templates? Die Meldungen der Engine geben eine falsche Zeile an und wegen der Unmengen an bedingt kompliertem Template-Code ist auch php -l hilflos. Gibt es irgendwo ein Interface, um sich den generierten Code anzeigen zu lassen?

Ich habe mir zum Beispiel _header.tpl irgendwo unten zerschossen und bekomme das hier:

Parse error: syntax error, unexpected ‘>’ in […]%%_header.tpl.php on line 8

Ein doppeltes > ist es nicht und eigentlich hatte ich alle Änderungen wieder rückgängig gemacht, aber es streikt immer noch.

Gibt es einen emacs-mode, dreamweaver-pi, eclipse-pi, notepad+±Grammatik oder was auch immer, in dem man html+smarty code vernünftig dargestellt bekommt?

Ohne den Inhalt Deiner Header.tpl zu kenn kann man hier kaum eine Antwort geben. Die Codezeile dürfte dennoch für den Fehler die richtige sein.

Ich benutze zum Programmieren phpDesigner, der kann auch Smarty

Neues Modul zur komfortablen Suche von Etiketten online!

  1. Die Smarty-Docs sagen es ist die Zeile in der das Template eingebunden wird, welche angezeigt wird, nicht die fehlerhafte Zeile im Template.

2)DW Extension für Smarty - funktioniert bis CS3 (CS4 ungetestet) http://scottwilburn.com/2006/05/12/smarty/

und Danke!

Gerad nochmal getestet - Fehler in eine header.tpl einer Seite von mir eingebaut

Fatal error: Smarty error: [in inc_header.tpl line 16]: syntax error: unrecognized tag: \if $js (Smarty_Compiler.class.php, line 446) in /var/www/test/xxxx/core/smarty/Smarty.class.php on line 1092

Und Smarty zeigt genau die Zeile an [in inc_header.tpl line 16] wo der Fehler aufgetreten ist. Und das funktioniert egal in welches tpl ich den Fehler reinhaue.

Eine völlig andere Fehlermeldung. Deine Fehlermeldung wird von smarty produziert, meine von PHP.

OK - Das war die “Quellcode formatieren” Funktion von Dreamweaver, die ein -> auf zwei Zeilen verteilt hat, weil sie es für einen HTML-Kommentar gehalten hat. Leider erkennt Smarty keine Delimeter mehr, wenn Leerzeichen dazwischen stehen, so dass das Template jetzt zwar wieder kompiliert, aber völlig im Eimer ist.

Das war’s dann für DW ->Notepad++ to the rescue.

Danke für alle Antworten. Operation gelungen - Patient tot.

Also ich habe auch vorher den DW benutzt und bin jetzt seit einigen Monaten auf Phase 5 umgestiegen und bin extrem zufrieden damit.