Zobrazit dva nahlady (view) naraz v jednej akcii

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

Zdravim,

robim si web s vlastnou administraciou pomocou Nette. „Klasicka administracia menu“ obsahuje aj pridavanie noveho. Cize mam akciu (a view) add, kde je formular. Ale rad by som napriklad podtym videl aj zoznam menu, ktory mam v akcii (a view) show.

Je mozne (ak ano, ako) zobrazit dva view pri jednej akcii? Teda spojit bloky „content“, ktore vyuzivam pre view podla akcii.
Pripadne poradte „cistsi MVC“ sposob ako to dosiahnut

Vopred vdaka za pomoc

na1k
Člen | 288
+
0
-

Jestli to chápu správně, tak řešením bude využít dědičnost šablon anebo vytvoření komponenty, která se bude o vykreslování menu starat (jestliže bys potřeboval nějakou složitější logiku).

Ve svém projektu mi každá šablona akce rozšiřuje @sublayout, který pak rozšiřuje hlavní @layout.
Sublayout vlastně jenom plní blok #menu v hlavním layoutu a definuje blok #submenu.

Šablona konkrétní akce potom volitelně mimo bloku #content plní i #submenu, což je praktické v tom, že například u akce overview do submenu dám odkazy na přidání apod., zatímco v akci edit submenu nenaplním. Tím jednoduše vyrábím menu závislé na konkrétní šabloně.

A druhý „trik“ je v tom, že @sublayout můžu definovat pro každý presenter zvlášť – do každé složky /templates/xxx dám jeden a tím mám menu závislé tentokrát na aktuálním presenteru.

Snad je to srozumitelné a je to to, čeho se snažíš dosáhnout ;-)
Osobně preferuju tenhle způsob, protože položky menu jsou statické a mám radši když je vidím přímo v šabloně, než aby mi je generovala komponenta kdoví jak a kdoví odkud, prostě kouknu a vidím a můžu rovnou upravovat :-)

MIKI
Člen | 34
+
0
-

@na1k (btw nie je to projekt do IIS :D )
diky za odpoved, ale asi sme sa neporozumeli :)
V podstate ani nejde o menu.

Skusim este raz

Mam administraciu niecoho (dajmetomu obrazky).

Mam teda akcie: show, add, edit, delete

V >show< mam tabulku, kde mam informacie, ktore chcem vidiet (id, nazov, cesta, nahlad obrazku).

V >add< mam formular na pridanie noveho obrazku. A tu by som chcel vidiet tu istu tabulku, ktoru vidim v >show<. (Napriklad aby som nemal zhodne meno obrazka (ano, to si osetrim, ale chcem proste vidiet tu tabulku :D ) )

Cize chcel by som „vlozit“ >show< do >add<. Ako to spravit, aby som mohol vyuzit aj >show< osobitne?

Ak bude treba, mozem dolozit zdrojove subory (napiste coho :) )

Editoval MIKI (6. 11. 2010 23:15)

na1k
Člen | 288
+
0
-

Tak v tom případě bych to asi řešil komponentou, která se vykreslí jako tabulka.

V šabloně pak jen něco jako {widget tabulka}, případně jí můžeš předat nějaké parametry, např. filtrování které obrázky bude vypisovat nebo informaci o tom v jaké podobě se má vykreslit (např. pro ). Klidně to může být takový malý datagrid :)

Teď už tě chápu správně? ;)

MIKI
Člen | 34
+
0
-

@na1k: ano, chapes spravne.

Myslim si ze ano, je to to, co hladam. Komponenty som doteraz nevyuzival, nevedel som na co. Ale presne tu sa zide. Diky moc :)

jansfabik
Člen | 193
+
0
-

mohla by ti pomoct nová dokumentace