Formulář jako komponenta v modulu

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

Snažím se vytvořit aplikaci jako soubor modulů, kde každý modul bude obsahovat jednotlivé vykreslitelné komponenty.

Mým cílem je dosáhnout toho, že v šabloně bude:

<?php
{control nazevModulu:nazevKomponenty, $parametry}
?>

V prezenteru je potom pouze např.:

<?php
    protected function createComponentProductsModule()
    {
        if ($this->context->hasService('module.products')) {
            return $this->context->getService('module.products');
        } else {
            return $this->context->getService('module.empty');
        }
    }
?>

Veškerá ostatní logika musí být v modulu.

Nyní k problému. Vytvořil jsem následující aplikaci: https://drive.google.com/…OE1rYWc/view?…

Na úvodní straně jsou dvě tlačítka (Formulář 1, Formulář 2), které po stisknutí vykreslí jednu z komponent:

<?php
{control productsModule:manageProductForm1, $params}
{control productsModule:manageProductForm2, $params}
?>

Každá z těchto komponent vytváří formulář jiným způsobem, žádná z nich ho nezpracovává korektně.

Po stisknutí tlačítka „Přidat produkt“ má dojít k vypsání obsahu formuláře pomocí var_dump.
Formulář 1 – vypíše skoro vše, chybí hidden hodnota „redirect“
Formulář 2 – nevypíše vůbec nic

Nedokážu pochopit v čem je problém. Předpokládám, že můj přístup není správný. Rád se poučím od zkušenějších kolegů.