Jeden Presenter pro více Latte stránek
- Mirspa
- Člen | 10
Jde nějak udělat, aby pod jedním Presenter bylo více Latte stránek?
Uvedu to na příkladě, jak bych si to představoval.
- Vytvořil bych nejdříve Domovskastrankapresenter.php
- K tomu vytvořil složku Domovskastranka
- Ve složce Domovskastranka bych vytvořil tři latte soubory cs.default.latte, en.homepage.latte, de.startseite.latte .
Ten to způsob bych použil u více jazyčných webů.
- Šaman
- Člen | 2663
To, co hledáš, je metoda presenteru formatTemplateFiles()
.
Můžeš si ji přepsat, aby vracela soubory šablony podle tvé vlastní
logiky. Je o tom zmínka i v dokumentaci.
Pokud bys to chtěl výjimečně jen pro jednu stránku, tak v render
metodě presenteru $this->template->setFile()
.
Editoval Šaman (12. 12. 2020 14:16)
- Mirspa
- Člen | 10
filsedla napsal(a):
Určitě ano, možností je více. Jak bude aplikace určovat, která se zobrazí?
- Muselo by se v konfiguračním souboru nastavit výchozí jazyk.
- Na webové stránky je potřeba umístit přepinač jazyků.
- Nešvarem všech více jazyčných webů jsou pěkné adresy. Tím pádem se stránka po přepnutí jazyka nezobrazí. Řešením je jednotlivé adresy mezi sebou propojit aby o sobě věděly a zároveň došlo k načtení obsahu, včetně změny url adresy. Stačilo by vytvořit ve složce Domovskastranka soubor např. alias.json a do nej napsat seznam adres, které k sobě patří. Zjednodušeně nějak tak to :
alias domovskastranky {
cs -> 'domovska-stranky'
en -> 'home-page'
de -> 'start-seite'
}
- Mirspa
- Člen | 10
filsedla napsal(a):
Ještě je jedna důležitá otázka, podle čeho navrhout řešení – budou se jednotlivé jazykové verze stránky kromě odlišné latte šablony nějak lišit i fungováním?
Latté šablony se budou lišit především jazykovou mutací obsahu.
- Podpora více jazyčných textů, formulářů, popisků např.obrázků.
- Podpora více jazyčných chybových zpráv 404 apod.
- Podpora více jazyčných shordcode: ankety, tab listy, rychlá navigace, tooltips.
Všeobecně to záleží na tom co do latte stránek napíšete.
- filsedla
- Člen | 101
Ano, tedy pokud chcete univerzální řešení a řešení, které je obvyklé, vícejazyčné aplikace mají z hlediska šablon úplně stejnou strukturu jako jednojazyčné – pro jednu stránku existuje pouze 1 šablona. Překládají se až jednotlivé texty uvnitř šablony, viz dokumentace překládání.
Udělat vícejazyčné URL je pak určitě také možné, a je to víceméně samostatný problém.