Latte soubory s malým nebo velkým písmenem na začátku?

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

Zdravím,
mám trochu problém s názvy latte souborů. Na localu (xampp) mi to běhá bez problému s malým písmenem na začátku (default.latte), po na hrání na server IIS to házelo chybu, že nemůže najít Default.latte a teď když se měnil server na apache, tak to zas chtělo malé písmeno na začátku. Jenže po víkendu to chce zas velké.

Jak to tedy je? Jak se tomu vyvarovat? Založit obě varianty asi není úplně ta správná cesta, že?

Pavel Kravčík
Člen | 1196
+
0
-

Založit obě varianty asi není úplně ta správná cesta, že?

Ne, to určitě ne.

Stává se to i na Linuxových serverech. Řešilo se to tady hodněkrát local vs. produkce. Větší zlom nastal ve verzi 5.3 (https://phpfashion.com/…sku-citlivka).

Hlavní problém bude, že Windows není case-sensitive, ale ten OS na produkci je. Tj. Default je default ve Windows, ale Default není default na Linuxu. Nejlepší varianta je sjednotit zápis. Osobně používám latte s malým písmenem → default.latte.

Vanamas
Člen | 20
+
0
-

Taky používám default.latte s malým písmenem, ale jde Nette tedy nějak nastavit, aby vždy chtělo latte soubor s malým písmenem? Nebo musím vždy podle serveru přejmenovávat?

Jinak problématiku case sensitive samozřejmě chápu.

Editoval Vanamas (29. 9. 2015 10:08)

Pavel Kravčík
Člen | 1196
+
0
-

Nette si defaultně volá malé písmenko. (viz https://doc.nette.org/…n/presenters#…)

Předpokládám, že máš někde v kódu něco podobného:

	include 'Default.latte'
	$this->render('Default')
	$this->setTemplate('Default')

Zkus v IDE hledat Case-sensitive words.

Vanamas
Člen | 20
+
0
-

Pavel Kravčík napsal(a):

Nette si defaultně volá malé písmenko. (viz https://doc.nette.org/…n/presenters#…)

Předpokládám, že máš někde v kódu něco podobného:

	include 'Default.latte'
	$this->render('Default')
	$this->setTemplate('Default')

Zkus v IDE hledat Case-sensitive words.

Pokud defaultně používá malé písmeno, tak proč po mě chce velké? Určitě jsem neměnil v tomto směru nastavení Nette.
V kódu nic takového nemám a týká se to všech default.latte

Unlink
Člen | 298
+
0
-

Skús si vypísať obsah $this->view niekde v presentery a uvidíš na čom si.

Ešte by som pozrel router, že či tam nemáš niečo takéto

$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:Default');

to Default s veľkým D

Vanamas
Člen | 20
+
0
-

Aha. Díky Unlink. Už vím kde je problém

$router[] = new Route("admin/[<presenter>/[<action>[/<id>]]]", array(
    'module' => 'Admin',
    'presenter' => 'Homepage',
    'action' => 'default',
    "lang" => 'en',
));


$router[] = new Route("<lang>/<presenter>/[<action>[/<id>]]", array(
    'presenter' => 'Homepage',
    "action" => "Default",
    "lang" => 'en',
));
Pavel Kravčík
Člen | 1196
+
0
-

Tyhle chyby jsou nejlepší. :) Skvěle se to hledá.