Elementy ve formuláři na základě konfigurace
- lukendo
- Člen | 96
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
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
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. :).