Nette/sandbox + Kdyby/Translation + dg/texy – problém s jednotnou cestou k adresáři /images při změně jazyků
- buffus
- Člen | 101
Ahoj,
prosím o radu. Mám funkční aplikaci:
- čistý nette/sandbox v2.3.9
- Kdyby/Translation v2.2 – nainstalované dle dokumentace
- dg/texy v2.8.2 – zaregistrovaný texy filtr pro šablony
Chci zobrazovat společný obrázek images/spinner.gif
pro
„cs“ i „en“ verzi webu.
V šabloně pomocí filtru texy zobrazím spinner.gif takto:
{block|texy}
[*spinner.gif*]
{/block}
(vygeneruje html <img src="images/spinner.gif"
>)
Problém je, že při výchozím nastavení Texy
$texy->imageModule->root = 'images/';
se spinner.gif při url v prohlížeči:
http://localhost/my-app/www/ – zobrazí,
ale při
http://localhost/my-app/www/en/ –
nezobrazí
(protože vznikne absolutní cesta
http://localhost/my-app/www/en/images/spinner.gif
)
Potřeboval bych, aby se při změně jazyka to /en/ do
cesty u obrázků nepřidávalo, jako se např. při přepínání jazyka
nemění cesta
http://localhost/my-app/www/css/style.css
.
Pomůže, když v Texy nastavím natvrdo:
$texy->imageModule->root = '//localhost/my-app/www/images/';
Ale to není praktické, protože pro každou aplikaci či po uploadu na produkci by se cesta musela přepisovat.
Když zkusím
$imageModule->root = $this->getHttpRequest()->getUrl()->path . 'images/';
tak jsem tam, kde jsem byl, protože se to „en“ v anglické verzi do cesty zase přidá.
Nevíte prosím nějaké řešení, jak nastavit společnou cestu do adresáře images/ pro všechny jazykové verze webu?
Předem děkuji.
- David Matějka
- Moderator | 6445
byl si blizko :)
namisto ->getUrl()->path
pouzij
->getUrl()->basePath