Nette/sandbox + Kdyby/Translation + dg/texy – problém s jednotnou cestou k adresáři /images při změně jazyků

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

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
+
0
-

byl si blizko :)

namisto ->getUrl()->path pouzij ->getUrl()->basePath

buffus
Člen | 101
+
0
-

Jjo! Děkuju. :)