Řešení častých dotazů
Nejde mi Nette, zobrazuje se bílá stránka
- Spusťte si Requirements Checker a ověřte, zda webhosting podporuje Nette Framework.
- Zkontrolujte, zda lze do adresářů
tempalogzapisovat. - Zapněte Laděnku natvrdo do vývojového režimu.
Chyba 404 – stránka nenalezena
1. Zkontrolujte cestu a název souboru šablony – malá/velká písmena,
koncovka .latte.
Použití znaků { } v JavaScriptu
Znaky { a } se používají pro zápis Latte maker.
Standardně se jako makro bere cokoliv, co následuje za znakem s výjimkou
mezery a uvozovky. Pokud tedy potřebujete vypsat přímo znak {
(často například v JavaScriptu), můžete za znakem { dát
mezeru (nebo jiný prázdný znak). Tím se vyhnete překladu
jakožto makra.
Pokud je nutné vypsat tyto znaky v situaci, kdy by se text přeložil jako
makro, můžete využít speciálních maker na vypsání těchto znaků –
{l} pro { a {r} pro }
{je makro}
{ neni makro }
Nefunguje routování
- Záleží, zda je modul v definici routy u presenteru (lze jej změnit, pokud je v URL <presenter>) nebo samostatně (aby byl změněn, musí být v URL <module>).
- Zkontrolujte malá/velká písmenka (
'Module' => 'Front'fungovat nebude,'module' => 'Front'ano). - Zkontrolujte, jestli je povolený mod_rewrite.
Některé prohlížeče si pamatují přesměrování, takže po změně routeru je třeba vymazat jejich cache.
Náhodně generovaná
hláška open_basedir.
Jde o PHP bug a řeší jej aktualizace na novější verzi PHP.
Pomalá Laděnka
Nastavit Laděnce menší hloubku zanoření do polí a objektů Debugger::$maxDepth a menší délku pro výpis řetězců v Debugger::$maxLen.
Validace MIME-type souboru
Stává se, že validace podle MIME-type nefunguje, resp. vyhodí chybu u souboru, který by měl validací projít. Chyba není na straně Nette Framework. Řešením je instalace knihovny Fileinfo (v PHP 5.3 je nativně podporována a povolena).
Chybí mi knihovna pro AMF, Amazon S3, OpenID, …
Nette Framework nechce být knihovnou, tj. širokým souborem tříd poskytujícím množství služeb, ale frameworkem, tedy uceleným souborem přicházejícím s určitým stylem práce (tzv. Nette-way). Framework je proto relativně malý, ale existuje pro něj řada doplňků, jejich nejucelenější sadou je pak Zend Framework.
Šablona z řetězce
Pokud potřebujete použít šablonu (zvláště pak Latte) uloženou v podobě řetězce (vráceném například z databáze), tak jej nastavte metodou Nette\Templating\Template::setSource().
Jak povolit mod_rewrite?
Rozšíření Apache nazvané mod_rewrite je potřeba povolit, aby bylo
možné vytvářet tzv. cool-URL. Těmito příkazy se povolí mod_rewrite
v souboru .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
kahi | 9. 10. 2011, 19:27 | comment
Ohledně Chyba 404 – stránka nenalezena – mně se stalo, že na lokální instalaci vše fungovalo, na serveru stránka spadla do Error presenteru. Chyba byly v počátečním velkém písmenu v setView(). (Možná by stálo za to v takové chvíli házet výjimku?)