Bug s neuzavřením makra v latte

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Robyer
Člen | 74
+
0
-

PHP 5.3, Nette 2.0 alpha 2 (i starší verze)

Pokud v šabloně zapomenete u makra na ukončovací složenou závorku } (např. napíšete jen „{a“), načítání stránky se pak „zacyklí“ a skončí až s chybou „Připojení bylo ukončeno vzdáleným serverem“.

Určitě by to mělo být vyřešeno nějak líp, takhle člověk vůbec neví, kde může být chyba.

Editoval Robyer (14. 1. 2011 15:10)

bojovyletoun
Člen | 667
+
0
-

asi záleží na okolním textu, ale mě se to nestalo ještě. Mlžeš dát příklad?

Aurielle
Člen | 1281
+
0
-

Také se mi to ještě nestalo, vždy mi Laděnka zařvala parse error.

Filip Procházka
Moderator | 4668
+
0
-

Ukáž nám kontext, aby to David mohl případně opravit a používej nějaké IDE, které umí zvárazňovat Latte-like sintax (Netbeans + Nette plugin, nebo Smarty – je to podobné)

jtousek
Člen | 951
+
0
-

Stačí si stáhnout sandbox a updavit soubor sandbox/app/templates/Homepage/default.latte aby vypadal takto:

{* This is temporary page, you can delete it *}

{block content
<div id="wrapper">
	<div id="logo"></div>
...

Tedy jen umazat } na třetím řádku.

Zvýrazňovač syntaxe na to asi nějak upozorní, ale při refactoringu kdy jsem omylem umazal někde v šabloně jeden znak a celý web přestal fungovat jsem to hledal poměrně dlouho.

westrem
Člen | 398
+
0
-

Nebude to problem vo vycerpani pameti pre regexpy? Preto to skonci s takou cudnou hlaskou ..

jtousek
Člen | 951
+
0
-

S největší pravděpodobností ano. Ale co s tím? Bylo by dobré aby to hodilo výjimku, asi by to chtělo nějak poupravit ty regexpy.

David Grudl
Nette Core | 8228
+
0
-

Bude řešeno.