Jeden Presenter pro více Latte stránek

Mirspa
Člen | 10
+
0
-

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.

  1. Vytvořil bych nejdříve Domovskastrankapresenter.php
  2. K tomu vytvořil složku Domovskastranka
  3. 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ů.

filsedla
Člen | 100
+
0
-

Určitě ano, možností je více. Jak bude aplikace určovat, která se zobrazí?

Šaman
Člen | 2528
+
0
-

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

filsedla napsal(a):

Určitě ano, možností je více. Jak bude aplikace určovat, která se zobrazí?

  1. Muselo by se v konfiguračním souboru nastavit výchozí jazyk.
  2. Na webové stránky je potřeba umístit přepinač jazyků.
  3. 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'
}
filsedla
Člen | 100
+
+1
-

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?

Mirspa
Člen | 10
+
0
-

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.

  1. Podpora více jazyčných textů, formulářů, popisků např.obrázků.
  2. Podpora více jazyčných chybových zpráv 404 apod.
  3. 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 | 100
+
0
-

A bude to čistě statický web, který si nebude žádné texty, např. články, tahat z databáze?

Mirspa
Člen | 10
+
0
-

filsedla napsal(a):

A bude to čistě statický web, který si nebude žádné texty, např. články, tahat z databáze?

Jsem zastance spíše univerzálních řešení, které fungují jak na čistě statickém webu ale i na webu s databází.

CZechBoY
Člen | 3598
+
0
-

Jestli jsou funkce totozne tak spis udelej preklady nez kazdou stranku pro jedej jazyk.

filsedla
Člen | 100
+
0
-

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.