HTML komentar latte – compilation failed (Nette 2.0beta)

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

Začínám s Nette a nedaří se mi zprovoznit šablony obsahující HTML komentáře.
Chyba viz:
http://cihly2.frogggias.com/

Latte template obsahujici nahlasi tuto chybu, problem je ve vykricniku

<!-- HTML komentar -->

Kdyz ho odstranim nebo nahradim pomoci lokalizace, tak vse funguje v poradku

<{_'!'}-- HTML komentar -->
Filip Procházka
Moderator | 4668
+
0
-

Latte má vlastní komentáře

{* Latte komentář *}

Ale HTML komentáře by měly fungovat také. Pokud nefungují, tak je to špatně.

Jan Endel
Člen | 1016
+
0
-

Zajímavé, co máš za verzi Nette? Moje nejnovější html komentář v pohodě schroustá.

Jinak v šabloně se komentuje spíše {* komentar *}

//edit: o fous rychlejší

Editoval pilec (24. 1. 2012 14:01)

frogggias
Člen | 11
+
0
-

verze Nette je (nejnovější, zkusil jsem aktualizaci):
Nette Framework 2.0-beta (revision 3036bf5 released on 2012–01–24)

Latte komentáře chápu, jenom se mi nechce prepisovat uz hotovy templates, ale spíš mi jde o zápisy typu

<!--[if lt IE 9]>
	<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
	<link rel="stylesheet" href="{$basePath}/resource/css/ie.css">
<![endif]-->

Editoval frogggias (24. 1. 2012 14:20)

Jan Endel
Člen | 1016
+
0
-

Tak tam asi fakt budeš mít něco shnilého, tvůj komentář jsem vložil do svojí šablony a vše naprosto v pohodě, zkus to u sebe na čistém sandboxu.

frogggias
Člen | 11
+
0
-

Tak jsem zkusil hodit do cisteho sandboxu a dela to to same, takze bych hledal chybu nekde na serveru, coz asi nebude uplne jednoduche.

Zkusil jsem udelat pro jistotu komplet update na serveru, ale bez jakehokoliv efektu.
Komplet framework je na
http://frogggias.com/nette/

Checker:
http://frogggias.com/…/checker.php

PHPinfo:
http://frogggias.com/nette/info.php

Editoval frogggias (24. 1. 2012 15:43)

Jan Endel
Člen | 1016
+
0
-

Připadám si tak nějak odmítnutý. Zkontroloval sis kodování všech souborů a to IDE?

frogggias
Člen | 11
+
0
-

Pridal jsem .htaccess pro prochazeni strukturou: http://frogggias.com/nette/

IDE – Netbeans 7.1, kodovani UTF-8. Problematicky soubor:
http://frogggias.com/…efault.latte

Editoval frogggias (24. 1. 2012 16:00)

Jan Endel
Člen | 1016
+
0
-

Vždyť základní sandbox ti očividně jede http://frogggias.com/…sandbox/www/ chce to možná lépe popsat problém.

frogggias
Člen | 11
+
0
-

Jasně cistej sandbox jede, jakmile do nej pridam html comment (prave ted), tak se chova uplne stejne jako http://cihly2.frogggias.com/

Problem bude uz i podle ladenky a chovani toho skriptu nekde ve vyhodnoceni regexpu, ktery resi komentare. Zajimave je ze, pokud se inkriminovany znak ! doplni pomoci lokalizace, tak je vsechno v poradku.

Editoval frogggias (24. 1. 2012 16:09)

22
Člen | 1478
+
0
-

Laděnka není vidět, my vidíme 500.. Proč nám dáváš přístup k Nette? Co my jako s tím?
Vzhledem k tomu, že jsi zatím jediný s tímto problémem, chyba nebude v Nette, ale někde jinde.., ale z 500ky to nikdo nevyčte…

Editoval 22 (24. 1. 2012 16:17)

frogggias
Člen | 11
+
0
-

Jasne me to doslo ted, ze mam pristup do Ladenky jenom ze svoji IP adresy, takze jsem ho povolil globalne u http://cihly2.frogggias.com/

Editoval frogggias (24. 1. 2012 16:19)

22
Člen | 1478
+
0
-

hod sem celou sablonu.. nejak nechapu, proc to mas cele v {block page}

frogggias
Člen | 11
+
0
-

Kopie komplet slozky templates:
http://frogggias.com/…e-templates/

Proto pisu do Zacatecnici, vcera jsem se Nette zacal ucit, ale tohle je proste vec, kterou nedokazu sam vyresit (mam jenom funkcni workaround, viz prvni post, ale to proste neni reseni).
Urcite se da {block page} udelat nejak jinak, ja to tam mam kvuli tomu, ze vsechny stranky krome landing page budou mit stejny zaklad a tohle je zrovna kod landing page.

Editoval frogggias (24. 1. 2012 16:31)

22
Člen | 1478
+
0
-

Tak se to přece ale nedělá!!.. napřed prostuduj dokumentaci, pak se podívej, jak funguje sandbox.. a zkus si QuickStart.
Ten {block page} tam nemá co dělat..myslím, že bez něj ti komentáře fungují normálně, ne?

nanuqcz
Člen | 822
+
0
-

22 napsal(a):

Tak se to přece ale nedělá!!.. napřed prostuduj dokumentaci, pak se podívej, jak funguje sandbox..

Šablony má sice (z hlediska struktury) navrhnuté špatně, ale to ještě neznamená, že by mělo Nette mít problém s HTML komentářema, ne?

frogggias
Člen | 11
+
0
-

Kdepak, problem je i kdyz do cisteho sandboxu pridam HTML komentar.

http://frogggias.com/…sandbox/www/

nanuqcz
Člen | 822
+
0
-

Dáš nám ten sandbox s HTML komentářem někde v zipu ke stažení pls?

22
Člen | 1478
+
0
-

V tom případě, ať do čistého sandboxu, do default.latte pro HomepagePresenter přidá HTML komentář, jetli to funguje a pak ať obalí celej obsah `@layout.latte `do `{block #page}{/block}.. `a uvidíme.

Editoval 22 (24. 1. 2012 16:47)

22
Člen | 1478
+
0
-

Tady je tvů sandbox a normálně funguje http://net22.eu/…sandbox/www/

Editoval 22 (24. 1. 2012 16:52)

nanuqcz
Člen | 822
+
0
-

frogggias: Na localhostu mi to funguje, takže problém bude v nějakém spešl nastavením u tebe na serveru…

22
Člen | 1478
+
0
-

xxxObiWan: ale podívej se na ten HTML kod, co z toho pada…

llook
Člen | 407
+
0
-

Čtěte taky někdy obsah chyby:

preg_match(): Compilation failed: unrecognized character after (?< at offset 8 in pattern: ~ (?<htmlcomment>--\s*>)| ## end of HTML comment (?P<comment>\{(?![\s'„{}])*.?*\}\n{0,2})| \{(?![\s'“{}]) (?P<macro>(?:‚(?:\\.|[^‘\\])‚|„(?:\\.|[^“\\])„|\{ (?P<inner>‘(?:\\.|[^‚\\])‘|“(?:\\.|[^„\\])“|\{(?P>inner)\}|[^‚„{}])+ \}|[^‘“{}])+?) \} (?P<rmargin>[ \t]*(?=\n))? ## macro ~xsi

Selže už samotná kompilace regulárního výrazu. Tohle je buďto chyba Nette (chybný regulár), nebo chyba PCRE (chybná interpretace reguláru).

22
Člen | 1478
+
0
-

IIook: To čteme, ale neumíme chybu reprodukovat…

Editoval 22 (24. 1. 2012 17:05)

nanuqcz
Člen | 822
+
0
-

22: Nechápu. Pokud myslíš výpis z laďenky, tak ten mi toho moc neříká (nevyznám se v tom :-D)

Ale Google taky říká, že jde o problém serveru

duke
Člen | 650
+
0
-

Chybu to háže už při kompilaci regulárního výrazu (tj. k vlastnímu hledání obsahu v šabloně podle tohoto reguláru vůbec nedojde), takže problém bude v zastaralé verzi PCRE (6.6 06-Feb-2006), která nepodporuje regulár použitý v Nette. Aktuální verze PCRE je 8.21.

Editoval duke (24. 1. 2012 17:08)

frogggias
Člen | 11
+
0
-

Diky za pomoc, vic toho asi se mnou nevyresite a ja toho s konfiguraci serveru taky moc neudelam, protoze nad serverem bezi Plesk.
Jinak stejny problem na uplne jinem stroji:
http://www.tlc.cz/sandbox/www/
Divam se ze oba mate jak na serveru/lokalu Win32, nema moznost nekdo zkusit na linuxu?

duke: Diky, to bude ten problem, zkusim jestli to dokazu nejak poresit.

Editoval frogggias (24. 1. 2012 17:08)

voda
Člen | 561
+
0
-

Linux, php 5.3.9, pcre 8.12 a funguje bez problémů

nanuqcz
Člen | 822
+
0
-

nema moznost nekdo zkusit na linuxu?

Tady, funguje (hosting Savana 500)

chemix
Nette Core | 1310
+
0
-

Zkusil bych stahnout RC verzi… mozna to je toto : https://forum.nette.org/…-v-php-5-2-6 ? a nebo take ne :)

iguana007
Člen | 970
+
0
-

Mě to na Linuxu jede.

PCRE Library Version 8.02 2010–03–19

Patrik Votoček
Člen | 2221
+
0
-

ArchLinux – PHP 5.3.9, PCRE 8.21 jede :-)

frogggias
Člen | 11
+
0
-

Díky všem za ochotu :)
Problém vyřešen aktualizací PCRE.