Elementy ve formuláři na základě konfigurace

lukendo
Člen | 96
+
0
-

Zdravím, řešil jste někdo někdo následující?
Mějme základní (rodičkovský) formulář pro článek, který obshahuje (nadpis, anotaci a vlastní text), ale časem chceme k tomuto formuláři přidat další prvky, například galerii. Klasický způsob by vedl, k přidání potřebných prvků do základního formu, rozšířit validaci a zpracování.
Dá se to řešit ale nějak modulově, např. přes config? Ideálne pak mít třídu co zašťituje jenom input type file, validaci na soubory a uložení do db a upload na server? Této tříde předat ten rodičovský formulář. Základní třída formuláře zůstane beze změny, v configu by se pak řeklo, že se má použít i ta třída co poskystuje možnost pro přidání galerie k článku. Děkuji, případným napíšu více info :)

Roman Halaxa
Člen | 60
+
0
-

Dělám něco podobného, akorát s datagridy. Mám základní datagrid do kterého jdou přidávat jednotlivé sloupce (Podtřídy Column třídy). V parametrech mám jestli ta tabulka má mít modální formulář na editaci, jestli má mít nad sebou filtrování, jestli má mít tlačítko na export do csv… Všechno řešeno jako komponenty. Nevím jestli je to to co potřebuješ ty ale minimálně jsem se snažil poradit. Hodně štěstí.

lukendo
Člen | 96
+
+1
-

Nakonec se mi s pomocí pár přátel progrmaátorů podařilo zajisit to co jsem chtěl.

Config jsem si rozšířil o:

parameters:
	articleForm: [App\Forms\FilesFormFactory, App\Forms\GalleryFormFactory]

Třídy jsou vytvořené (implementují stejný interface), každá má metodu na vytvoření potřebných elementů, validaci dat a uložení. Každá z tech metod přejímá formulář. v „rodičovské“ třídě formuláře dostávám data z configu articleForm a vytvořím instance daných tříd. Nad nimi pak volám ty zmíněné metody a předám jim ten „rodičkovský“ form. Pokud by měl někdo chtěl dovysvětlení, rád sdělím. :).