Form vlastní vzhledz továrničky – vlastní vzhled
- plkJack
- Člen | 4
Zdravím potřeboval bych poradit začínám s nette, vytvořil sem si vlastní komponentu Formuláře ve které vytvářím formulář přez tovarničku:
a vypisuji ho do šablony té komponenty:
a chci se zeptat když bych chtěl upravit jak se bude formulář vykreslovat (uplně překopat vzhled), jak to mám udělat? četl jsem si v dokumentaci ale tam je to pro formuláře které nejsou vytvořeny přez tovarničku… děkuji za odpověď.
<?php
function createComponentLoginForm(){
$form = new Nette\Application\UI\Form;
$form->setMethod('POST');
$form->addText('name', 'Jméno:')
->setRequired('Zadejte jméno prosím.');
$form->addPassword('password', 'Heslo:')
->setRequired('Zadejte heslo prosím.')
->addRule($form::MIN_LENGTH, 'Heslo musí mít alespoň 3 znaky', 3);
$form->addSubmit('send', 'Login')
->setAttribute('class', 'btn-classic');
$form->onSuccess[] = $this->signInFormSubmitted;
$form->getElementPrototype()->class[] = "loginForm";
return $form;
}
?>
<?php
<div class="loginWrapper">
{control loginForm}
</div>
?>
- Jan Mikeš
- Člen | 771
Jasne ze by slo. Bud si muzes vytvorit renderer, ktery ten formular bude vyuzivat a nastavit mu ho, nebo muzes cely formular obalit do komponenty a formular si vykreslis v sablone komponenty.
Navod jak na to naleznes zde: https://doc.nette.org/…s/form-reuse
- webdata
- Člen | 153
Odkud začít?
Tak snad že stránka Nette má v menu více položek než forum. A je zde také dokumentace kde se dá dočíst jak na to takže pak stačí podědit defaultní renderer a vytvořit si vlastní pro bootstrap from twitter a to tak že výsledný formulář nemusí být zavislej na bootstrap a to třeba takto:
$form = new \Nette\Application\UI\Form;
if (class_exists('\BootstrapFormRenderer')) {
$form->setRenderer(new \BootstrapFormRenderer);
}
return $form;
A nebo je zde ještě další stránka a to Addons kde lze najít Kdyby/BootstrapFormRenderer
Pak ještě existuje stránka kterou provozuje jedna imperialistická firma ze západu. Kde se pak dá najít jak udělat znovupoužitelný formulář nesoucí vlastní šablonu
Jinak forum má jednu unikátní vlastnost a to vyhledávání kde se tohle už řešilo snad 1 000 000.
Nevím proč mám pocit že tazatel je stejná osoba pod jiným nickem pokud se pletu, tak se omlouvám.
Editoval webdata (17. 1. 2015 19:28)
- plkJack
- Člen | 4
Vím našel jsem jak upravit renderer ale zajmalo mě jestli neni ještě jiná metoda a já jsem na nette forum zavítal poprvé, zkoušel jsem vyhledávání ale nenašel jsem přimou a stručnou odpověď :) a to že mám podobný nick je jen shoda náhod nevím na co se daný uživatel ptal ale žádnou nedávnou odpověď na toto téma jsem nenašel.
- webdata
- Člen | 153
plkJack napsal(a):
Vím našel jsem jak upravit renderer ale zajmalo mě jestli neni ještě jiná metoda a já jsem na nette forum zavítal poprvé, zkoušel jsem vyhledávání ale nenašel jsem přimou a stručnou odpověď :) a to že mám podobný nick je jen shoda náhod nevím na co se daný uživatel ptal ale žádnou nedávnou odpověď na toto téma jsem nenašel.
Tak to se omlouvám. Je hodně cest, jak dosáhnou výsledku, já osobně používám formulář jako samostatnou komponentu popsanou v tutorialu co jsem dával odkaz a nebo ho dával Lexi.
Jelikož je hodně CSS frameworku je dobré si třeba kontrolovat zda zda se nachází můj renderer.
Já mám napsané komponenty jako například loginform, newpassword atd. Ty pak v daném projektu zaregistruju jako službu v neon a injektuju do požadovaného presenteru kde ji pak použiju.
- Filip Procházka
- Moderator | 4668
Dost často je potřeba renderovat ručně a to se dělá nejlépe takto:
<form n:name="loginForm">
<label n:name="name">Jméno</label><input n:name="name"><br>
<label n:name="password">Heslo</label><input n:name="password"><br>
<input n:name="submit" value="Přihlásit se">
</form>