Formulář jako komponenta s vlastní šablonou – ukázka
- medhi
- Generous Backer | 255
Ahoj,
protože nejnovější trend a best practice je vytvářet formuláře (ty co chcete použít vícekrát) jako komponenty, zkusil jsem to také. Potřeboval jsem ale, aby formulář měl vlastní šablonu. Bohužel najít kompletní návod jak na to byla detektivní práce (díky za radt @matej21 a @FilipProcházka).
Jednotlivé útržky lze najít v těchto jinak skvělých návodech, které doporučuji nastudovat:
https://doc.nette.org/…s/form-reuse (pomohlo asi nejvíce, ale přesto dost stručné, chybí tam alespoň práce se šablonou)
https://doc.nette.org/…tion/factory
https://doc.nette.org/…/smartobject#…
Udělal jsem tedy kompletní ukázku, jak na to. Je pokud možno co nejpodrobněji komentována. Ne vše z ní musí být jasné, proto se prosím ptejte co jasné není v komentářích pod ní na Githubu, pokusím se ji vylepšit.
- castamir
- Člen | 629
Pěkná práce.
Osobně to řeším ještě tak, že přidám formuláři renderer a vykreslím ho bez šablony za použití render metody z komponenty:
public function render() {
echo $this['form'];
}
co se komentářů týče, myslím, že ti tam chybí ještě pár překladů do angličtiny (u rozhraní a konfigurace), ale to je jen na okraj ;)