Kdyby\Replicator – vytváření položek a následný render

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

Ahoj, už pár dí řeším a stále bez posunu jeden problém.

Potřebuji aby se mi do formuláře vygenerovali pomocí Kdyby\Replicatoru inputy které jsou definované v databázy.

Struktura db:
id (int 3),latte_id (varchar 50), title (varchar 50), parent (int 3), page_type (varchar 50), input_type (varchar 50)

id je ID daného inputu, latte_id znázorňuje to jaký by měl mít input name, parent odkazuje na rodiče pomocí id, page_type je pro určení v které šabloně má být input zařazen a input_type obsahuje text (addText, addTextArea, addContainer, addSelect, atd…).
Problém je v tom že nevím jak vytvořit jednu addDynamic položku ve formuláři která bude obsahovat všechna pole a pokud je input_type == addContainer vytvoří se nový addDynamic který bude vnořený v tom již vytvořeném.

Dále bych potřeboval poradit jak mám takhle vytvořený formulář vyrenderovat, potřebuji manuální renderování.

Díky moc za rady, když bude potřeba něco poskytnout rád pošlu všechno :))

Oli
Člen | 1215
+
0
-

Mělo by to fungovat podle návodu.

renderování, vnořený select.

Co ti na tom nejde? Jak to máš teď?

DominikDvorak94
Člen | 14
+
0
-

Jasně, na dokumentaci jsem koukal, tenhle zápis chápu ale problém je v tom že já z té db potřebuji vzít prvky které tam budou vytvořeny (nevím jejich jména, počet, nic..).

Oli
Člen | 1215
+
0
-

Pokud nevis jmeno inputu, tak si udelej nejakej genefickej input1, input2, .... label muzes vzit z databaze, pocet bude automaticky podle toho kolik toho máš v databázi. Jediný co musíš znát je name inputu. Zbytek může být dynamickej.

Kdyžtak pošli jak to máš v addDynamic a jak plníš data z databáze.

DominikDvorak94
Člen | 14
+
0
-

Abych ten problém přesněji upřesnil, jde o to že budu do jednoho addDynamic vkládat další addDynamic (nevím kolik jich bude a nevím tedy kolik bude levelů (maximálně by měli být ale tři, chtěl bych to ale naprogramovat tak aby to bylo funkční i pro více levelů). Budu tedy muset addDynamic volat nějak rekurzivně a potřebuji pošťouchnout jak na to, to stejné s výpisem formuláře, jak mohu manuálně vyrenderovat formulář s addDynamic když neznám názvy inputů a ani neznám počet levelů?

Díky

Editoval DominikDvorak94 (15. 10. 2016 17:33)