Latte + Form zprovoznení v čistém php

motorcb
Člen | 551
+
0
-

Zdravím, předělávám starý projekt. Pro začátek chci nasadit Latte + Form.

$template = new FileTemplate;
$template->registerFilter(new Nette\Latte\Engine);
$template->setFile(__DIR__ . '/templates/login.latte');
$template->test = "funguje";

To mi funguje, ale jak nyní do šablony přidat formulář?

Šablona login.latte:

<h1>Login</h1>
{$test}
{control registrationForm}

Jak nyní šabloně přiřadit formulář?

protected function createComponentRegistrationForm()
{
    $form = new UI\Form;
    $form->addText('name', 'Jméno:');
    $form->addPassword('password', 'Heslo:');
    $form->addSubmit('login', 'Registrovat');
    $form->onSuccess[] = [$this, 'registrationFormSucceeded'];
    return $form;
}

Presentery zatím nemám nasazené a ještě potrvá dlouho než bych je nasadil. Tohle by mi moc pomohlo

Ondřej Kubíček
Člen | 494
+
+1
-

v tom případě nepoužívej UI\Form, ale jen nette/forms, je tam metoda render, která ti to vyrendruje

$template->form = $form;
<h1>Login</h1>
{$test}
{$form->render()}
Allconius
Člen | 313
+
0
-

Ahoj, dá se nějak ten $form pojmenovat ? Tj. aby se v šabloně vygenerovalo i „name“:

<?php
<form action="" method="post" name="JMENO" ... >
?>

a ne jen class a id ?

Jan Tvrdík
Nette guru | 2595
+
0
-

Zkus

$form->getElementPrototype()->name = 'foo';
Allconius
Člen | 313
+
0
-

Ahoj, jo super funguje, díky moc :-))