HTML komentar latte – compilation failed (Nette 2.0beta)
- frogggias
- Člen | 11
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
Latte má vlastní komentáře
{* Latte komentář *}
Ale HTML komentáře by měly fungovat také. Pokud nefungují, tak je to špatně.
- frogggias
- Člen | 11
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)
- frogggias
- Člen | 11
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)
- frogggias
- Člen | 11
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
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
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)
- frogggias
- Člen | 11
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)
- frogggias
- Člen | 11
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
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?
- 22
- Člen | 1478
Tady je tvů sandbox a normálně funguje http://net22.eu/…sandbox/www/
Editoval 22 (24. 1. 2012 16:52)
- llook
- Člen | 407
Č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).
- nanuqcz
- Člen | 822
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
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
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)
- chemix
- Nette Core | 1310
Zkusil bych stahnout RC verzi… mozna to je toto : https://forum.nette.org/…-v-php-5-2-6 ? a nebo take ne :)