Nefunguje $baseUri a $basePath
- Bernard Williams
- Člen | 207
Nazdárek,
používám Nette 0.9.2 a skeleton z něj a nefunguje mi proměnná $basePath popř. $baseUri.
Pokud využívám virtuální host, tak je $basePath je prázdný a $baseUri obsahuje lomítko . Pokud jej nepoužívám, tak proměnné obsahují adresářovou strukturu v localhostu. Např. /muj_web/podadresar/ což je ale taky k ničemu, protože adresa by měla (když už) tak vypadat takto: http://localhost/…/podadresar/
Nevíte někdo proč to tak je a jak to vyřešit? Ve starší verzi mi to vše šlo, ale tady v té nové to nejde.
Děkuji
Bernard
- kravčo
- Člen | 721
Podľa toho čo píšeš fungujú tak, ako by mali – $baseUri
je cesta od koreňa servera k index.php (vstupný bod do Nette-aplikácie),
$basePath
je jej alternatíva bez lomítka na konci
$baseUri = /cesta/ku/koreňu/aplikácie/
; vs.
$basePath = /cesta/ku/koreňu/aplikácie
$basePath
je pomerne nový a vznikol tuším kvôli krajšiemu
zápisu:
<img src="{$baseUri}image.img" />
<!-- vs. -->
<img src="{$basePath}/image.img" />
- Ondřej Mirtes
- Člen | 1536
K vygenerování absolutních cest (v rámci HTTP, ne na disku) by ti posloužilo něco ve smyslu {plink //Homepage:}, případně jaký jiný defaultní presenter máš uvedený v routách. Ale je to zbytečné, tak jak funguje baseUri či basePath, stačí.
- Bernard Williams
- Člen | 207
Nevím no.. osobně jsem čekal absolutní cestu i s hostem.. ale je asi pravda, že to není nutné, když linky budu používat s //. Díky za objasnění.
- PetrP
- Člen | 587
Zapnout absolutní linky napořád lze takto:
$presenter->absoluteUrls = true;
kravčo napsal(a):
$basePath
je pomerne nový a vznikol tuším kvôli krajšiemu zápisu:
Je to kompabilita z ostatním zadáváním adres v nette
WWW_DIR . '/atd';
kde složky končí bez lomítka. Pořád jsem na
to musel myslet že tady v tomhle případě tam lomítko nepíšu.
- Bernard Williams
- Člen | 207
A jak řešíte absolutní cestu v šablonách? Např. když vede na nějaký obrázek.. Pevně nebo přes nějakou pomocnou proměnnou nebo je zadáváte relativně?