Originally forked from foglcz/nestraps
$ composer require valicek1/nestraps
Update your config.neon
:
factories:
form:
parameters: [type]
class: \Nette\Application\UI\Form
setup:
- setRenderer(\foglcz\Nestraps(%type%, @latte.templateFactory))
And then in your presenter:
public function createComponentYourFormName($name) {
$form = $this->getContext()->createForm(\foglcz\Nestraps::BOOTSTRAP);
$form = $this->getContext()->createForm(\foglcz\Nestraps::FOUNDATION);
// ...
}
Nestraps is a replacement for conventional renderer in Nette Framework. Basically, all it does is that it takes given .latte file & sends the form there.
The .latte file can be written in any way - how you want it.
Detailed documentation is pending; for now proceed to HomepagePresenter in showcase: https://github.com/foglcz/nestraps/blob/master/showcase/nette-2.0/app/presenters/HomepagePresenter.php
Don't really worry about manually editing this file -- altough it's possible, much cleaner approach is to create your own template with following markup:
{layout 'path/to/bootstrap.latte'}
{define #TextInput}<insert text input markup here>{/define}
If you want to overload some field but not overload the input globally, use following:
$field->setOption('latte', 'path/to/your/overloaded.latte');
... or:
$field->setOption('blockname', 'nameOfYourDefineBlockWithoutHash');
In the template, the hidden fields are rendered as last. The easiest way to extend any field is:
$form->addHidden(...)->setOption('latte', 'path/to/your/field.latte')
LGPL.