rozšíření basePath o lang ve všech templates
- maikoo
- Člen | 21
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
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
abstract class BasePresenter extends Presenter
{
/**
* @persistent
* @var string
*/
public $lang;
protected function beforeRender()
{
$this->template->basePathLang = $this->template->basePath . "/" . $this->lang;
}
}
- norbe
- Backer | 405
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..