Formulář s vlastní template
- ondraondra81
- Člen | 82
Ahoj,
mám vytvořený formulář
use \Nette\Application\UI\Form;
use \Nette\Forms\Controls;
class PoptavkaFormControl extends \Nette\Object
{
public function create()
{
$form = new Form();
$form->addGroup('Poptávkový formůlař');
//........kod
return $form;
}
}
v Presenteru pak volam
public function createComponentPoptavkaForm()
{
return $this->poptavkaFormControl->create();
}
Chtěl bych ale pro ten formulář definovat jeho vlastní šablonu latte oddělenou od šablony presenetru, ale tak nějak nevím jak.
- David Matějka
- Moderator | 6445
nejlepe takto: https://doc.nette.org/…s/form-reuse#…
(napises si do ty komponenty render metodu jako ve standardni komponente)
- Tomáš Votruba
- Moderator | 1114
Ahoj, komponentu lépe vytvoříš pomocí Generovaných továrniček. Pak budeš moci v metodě render přidat vlastní latte soubor, kde můžeš formulář vypsat.
Případně také koukni na toto čerstvé téma
- Šaman
- Člen | 2666
Funkční ukázku najdeš tady. Obsah traity patři do presenteru. A co configu musíš přidat tenhle řádek.
Ale teď víc používám CSS Bootstrap a zase myšlenku formulářů v komponentě opouštím. Sice je to fajn a na velké jednorázové formuláře bych to použil stále, ale kvůli drobným odlišnostem při vykreslování teď formuláře vytvářím v továrničce jako čistý Form a vykreslováni zařizuje šablona presenteru, nebo komponenty, do které ten formulář vložím. Nejčastěji měním třídu ajax a styl vykreslení tlačítek (někde nejsou vůbec, jinde jsou přes pod celou šířkou formuláře).