Formulář jako komponenta v modulu
- dr3ex
- Člen | 8
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ů.