rozšíření basePath o lang ve všech templates

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

zdravím,
potřebuji rozdělit styly a obrázky od jednotlivých jazyků ..tak jsem si je dal do různych složek root/cs/images/

jak dostat do všech templates upravený basePath? s proměnnou „lang“ z url adresy?

udělal jsem si v basePresenteru helper mainPath který mi upraví potřebné cesty jenže to musím vždy použít zápis …

{var $aaa ⇒ ‚/styles/main.css‘}
{$aaa|mainPath}
proč nelze
{‚/styles/main.css‘|mainPath}

pokud dělám někde chybu díky za rady.. popřípadě dokonalejší řešení?
..děkuji

maikoo
Člen | 21
+
0
-

aaa tak jsem něco našel.. nakonec mi funguje zápis ..
{!=‚/styles/main.css‘|mainPath}

..může byt? nebo je ještě lepší řešení?

díky moc

norbe
Backer | 405
+
0
-

Jestli jsem dobře pochopil jak máš tu cestu k souborů, tak by bylo lepší v BasePresenteru (v metodě beforeRender) nastavit proměnou $mainPath a tu pak normálně použít v šabloně: {$mainPath . "cesta"}

maikoo
Člen | 21
+
0
-

No cesta bude např /cs/styles/main.css
Proč myslíš že to bude lepší než mít na to helper?
Ono jde taky o to že to je trochu větší projekt představa že se změní adres.str. nebo něco …pak bude šilene změnit kupu šablon.. proto raděj fci někde.

norbe napsal(a):

Jestli jsem dobře pochopil jak máš tu cestu k souborů, tak by bylo lepší v BasePresenteru (v metodě beforeRender) nastavit proměnou $mainPath a tu pak normálně použít v šabloně: {$mainPath . "cesta"}

Patrik Votoček
Člen | 2221
+
0
-
abstract class BasePresenter extends Presenter
{
	/**
	 * @persistent
	 * @var string
	 */
	public $lang;

	protected function beforeRender()
	{
		$this->template->basePathLang = $this->template->basePath . "/" . $this->lang;
	}
}
norbe
Backer | 405
+
0
-

Tak samozřejmě záleží na konkrétních požadavcích. Jelikož je dotaz v sekci začátečníci, trochu jsem předpokládal, že se to snažíš dělat zbytečně složitě, aniž by jsi k tomu měl nějaký důvod :)

Pokud už teďka víš, že se ti bude měnit adresářová struktura(tak že si nevystačíš s proměnou na začátku), nebo bude potřeba nějaká další logika (např. některé věci společné pro všechny jazyky), tak ten helper bude lepší, na základní funkčnost je ale proměnná víc než dostatečná..

P.S. Necituj zbytečně předchozí příspěvek..