Dvoufázové zobrazení webu dle URL parametru (zobrazení pro web a pro inteligentní zařízení)

fany
Člen | 18
+
-1
-

Mám presenter, kde mám logiku pro daný nahled.latte soubor.

Tento latte soubor je potřeba zobrazit ve 2 různých pohledech a to za

1: Plný pohled, včetně layout.latte (kde je menu, přepínače i postranní menu)** WEB**
2: jen samotný nahled.latte soubor včetně logiky a dalších latte souborů, které se includují do této šablony – Inteligentní zařízení

Napadlo mě použít parametr v URL kdy poslední parametr by byl identifikátor zobrazení (přepínač mezi plným a ořezaným pohledem), případně nastavit si pro daný presenter 2 routy, přičemž první by volala vše a druhá by volala jen fce které jsou potřeba.

Mám automaticky generované menu z DB a v případě druhého pohledu by nebyla potřeba jej vůbec zobrazovat a tudíž ani tahat zbytečná data z DB.

Rád bych se vyhnul řešení, kdy bych vytvořil nový presenter a zduplikoval kod z již stávajícího jen s tím rozdílem že druhý presenter by zobrazoval jen daný latte soubor bez omáčky
Dvoje zobrazení mám jedno pro web a druhé pro inteligentní zařízení, které využívá jen jednu podstránku, pro zobrazení aktuálních informací.

Výsledný pohled by měl dle parametru v URL adrese zobrazit pouze vyhledávání a z druhého pohledu vyhledávání s prvky menu.
aneb pokud se v URL adrese nachází parameter „1“, tak pomoci presenteru nastavit v layout zobraz či ne.

David Matějka
Moderator | 6445
+
0
-
MajklNajt
Člen | 498
+
0
-

@DavidMatějka tu je ešte jedno vlákno pre kompletnosť:

Joacim
Člen | 229
+
0
-

Zdravím,

také by mě zajímalo jak pro jeden presenter mohu použít budto 2 templaty (jeden samotný holý a druhý vše včetně layout) případně jak napsat pro jeden presenter (jednu render metodu) 2 routy, jednu na plné zobrazení a druhou jen s template.latte bez omáčky okolo.

Stačilo by použít další parametr v URL, který by jen přepínal mezi zobrazením s a bez layout.latte, a tento parametr bych umel dostat i níže do rodičů jako je BasePresenter

Díky moc

CZechBoY
Člen | 3608
+
0
-

Spis bych udelal 2× render – tzn. renderDefault a renderPlain (napriklad).
V renderPlain bys mel nastaveni sablony a vypnuti layoutu.

$this->setView('default');
$this->setLayout(null);

jen nezapomen, ze v layoutu nejspis vkladas css, js a tak

Joacim
Člen | 229
+
0
-

CZechBoY napsal(a):

Spis bych udelal 2× render – tzn. renderDefault a renderPlain (napriklad).
V renderPlain bys mel nastaveni sablony a vypnuti layoutu.

$this->setView('default');
$this->setLayout(null);

jen nezapomen, ze v layoutu nejspis vkladas css, js a tak

Tak to by problém asi nebyl, mohu si vytvořit jiný layout a ten použít jen pro ořezanou stránku včetně všech CSS a JS, problém byl v tom, že nechci duplikovat kod a ani HTML v templatu, v presenteru si dám opakující se kod do fasady, ale co u template ?

CZechBoY
Člen | 3608
+
0
-

U template si dáš opakujícíc se kod do template do bloku a ten blok potom vyvoláš/vložíš.
https://latte.nette.org/cs/tags#…