ConvetionalRenderer – Latte pomocník pro ruční renderování formuláře + Tw Bootstrap

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
enumag
Člen | 2118
+
0
-

No musíš ještě v továrničce dát formuláři ten renderer… viz odkaz výše.

n.u.r.v.
Člen | 485
+
0
-

jj, jestli myslíš

use Kdyby\BootstrapFormRenderer\BootstrapRenderer;
$form->setRenderer(new BootstrapRenderer);

Tak to mám…funguje…thx

TOMeek
Člen | 64
+
0
-

Umí to vykreslit veškerá tlačítka jako delá {form buttons}, ale bez TW Bootstrap obalu? Něco jako {input tlacitko}, ale pro vsechny tlacitka najednou? Nebo případně jestli tomu obalu jde nějak přidat jiná třída než je form-actions? Děkuji

rixi
Člen | 109
+
+1
-

ahoj,

planujes update s podporou pre bootstrap 3.0 rc?

MartinitCZ
Člen | 580
+
0
-

rixi napsal(a):

ahoj,

planujes update s podporou pre bootstrap 3.0 rc?

Pokud šoupne aktuální branch (master) do „2.x“, tak nevidím problém, ale zabít podporu pro starší verzi by byla blbost.

Nemluvě o tom, že 3.0 rc je hnusná :/

rixi
Člen | 109
+
0
-

martinit wrote:
Pokud šoupne aktuální branch (master) do „2.x“, tak nevidím problém, ale zabít podporu pro starší verzi by byla blbost.

Stacilo by otagovat (alebo branch), zostavajuca podpora pre 2.3.2 by tak nebola problem.

martinit wrote:
Nemluvě o tom, že 3.0 rc je hnusná :/

rc je hnusna, da sa suhlasit. no ked si chce niekto postavit vlastny design nad bootstrapom, sucasny flat design sa rozsiruje ovela jednoduchsie a nie je nutne kvoli tomu v CSS nutne overwritovat vsetky gradienty a bordery, ktore boli prebrate z twitteru.

Editoval rixi (30. 7. 2013 13:09)

motorcb
Člen | 552
+
0
-

Přimlouvám se za Bootstrap 3.0 rc

Seith
Člen | 24
+
0
-

Zdravím,

mám problém rozchodit bootstrap form renderer na Nette 2.1-dev. Přikládám výpis z laděnky. Mohl by se na to někdo mrknout a poradit? Díky!

Filip Procházka
Moderator | 4668
+
0
-

@Seith jakou máš verzi nette a jakou verzi rozšíření jsi použil?

Seith
Člen | 24
+
0
-

Filip Procházka napsal(a):

@Seith jakou máš verzi nette a jakou verzi rozšíření jsi použil?

Obojí master z githubu.

Seith
Člen | 24
+
0
-

Seith napsal(a):

Filip Procházka napsal(a):

@Seith jakou máš verzi nette a jakou verzi rozšíření jsi použil?

Obojí master z githubu.

Dnes jsme v práci přešli na composer a uvedený problém se již neopakuje, takže prosím předchozí příspěvek ignorujte. Díky za Váš čas.

MartinitCZ
Člen | 580
+
0
-

Narazil jsem problém. Renderer nepodporuje v input-append (input-prepend) použití tlačítka, resp. dostneš ho tam, ale renderer přidá i add-on, které tam v případě použití tlačítka být nemá ;)

Viz: http://getbootstrap.com/…ase-css.html#… sekce Buttons instead of text

mattes.gfx
Člen | 8
+
0
-

Zdravím, pokusil jsem se použít tento addon. Stáhnul jsem ho pomocí Composeru s takovýmto composer.json:

<script>
{
	"name": "nette/sandbox",
	"description": "The sandbox is a pre-packaged Nette Framework project, basic configured structure for your application.",
	"homepage": "https://nette.org",
	"type": "project",
	"license": ["BSD-3-Clause", "GPL-2.0", "GPL-3.0"],
	"authors": [
		{
			"name": "David Grudl",
			"homepage": "http://davidgrudl.com"
		},
		{
			"name": "Nette Community",
			"homepage": "https://nette.org/en/contributors?lang=en"
		}
	],
	"require": {
		"php": ">= 5.3.0",
		"nette/nette": "@dev",
		"dg/adminer-custom": "1",
		"kdyby/bootstrap-form-renderer": "2.0.*"
	},
	"require-dev": {
		"nette/tester": "@dev"
	}
}
</script>

Ale když to takto stáhnu, Laděnka mi hází chybu:

Nette\Utils\AssertionException
Missing section ‚development‘ in file ‚D:\prace\PHP\xampp\htdocs\www\imarket\app\config\config.neon‘.

V čem je chyba? Co mám kde vytvořit a proč?

Předem díky za rady :)

mattes.gfx
Člen | 8
+
0
-

Nevím v čem byl problém s Composerem, ale stačilo stáhnout addon z githubu a složku Kdyby umístit do vendor/others a pak v presenteru, kde chci vykreslování bootstrap formulářů použít, použít:

use Kdyby\BootstrapFormRenderer\BootstrapRenderer;
$form->setRenderer(new BootstrapRenderer);

Třeba to pomůže někomu se stejným problémem. :)

Filip Procházka
Moderator | 4668
+
0
-

To důrazně nedoporučuji! Pokud možno instalujte Kdyby rozšíření vždy pomocí Composeru.

Ta chyba co jsi poslal

Nette\Utils\AssertionException
Missing section ‚development‘ in file ‚D:\prace\PHP\xampp\htdocs\www\imarket\app\config\config.neon‘.

nijak nesouvisí s mým rozšířením, máš prostě chybu v aplikaci.

Když instaluješ aplikaci přes composer, stáhne se ti i Nette a pravděpodobně jsi ho měl buď v projektu dvakrát, nebo se ti přepsalo to co jsi tam měl předtím. A vývojové Nette se konfiguruje trochu jinak. To znamená ta chyba.

Šaman
Člen | 2659
+
0
-

mattes.gfx napsal(a):

Nette\Utils\AssertionException
Missing section ‚development‘ in file ‚D:\prace\PHP\xampp\htdocs\www\imarket\app\config\config.neon‘.

V čem je chyba? Co mám kde vytvořit a proč?

V Nette 2.1 už jsou sekce defaultně vypnuté, pokud používáš 2.0× a nechceš používat sekce (jedeš podle novějších ukázek configu), tak tyto sekce musíš vypnout volitelným parametrem metody addConfig v bootstrapu.

<?php
$configurator->addConfig(__DIR__ . '/config/config.neon', FALSE);
?>
mattes.gfx
Člen | 8
+
0
-

Pokud jsem ale composeru řekl, ať stahuje jen nette, vše fungovalo v pořádku, až když jsem přidal addon, tak mi to hlásilo tuhle chybu. Přesně jak mám napsané v tom jsonu, stáhnul jsem dev verzi Nette, jak ta se tedy má nakonfigurovat, aby to frčelo jak má?

Šaman
Člen | 2659
+
0
-

Jestli máš 2.1 @dev, tak bude chyba někade jinde. Tenhle addon teď nepoužívám, tek nevím kde. Zkus zjistit, kde to dělá – kde se to snaží najít něco v sekci development.

mattes.gfx
Člen | 8
+
0
-

Výpis z laděnky jsem hodil sem http://hottipy.cz/error.htm Nevím čeho se chytit :/

Šaman
Člen | 2659
+
0
-

Ach jo, hrabu se v těch dumpech (nevím proč se to nerozklikává, musím to řešit firebugem) a až nakonec mě napadne podívat se na verzi Nette. Máš 2.012, to znamená, že nemáš @dev verzi 2.1, to znamená, že sekce jsou povinné, pokud je nevypneš (jak jsem psal výše).

mattes.gfx
Člen | 8
+
0
-

Tak už asi vím v čem je chyba. Když po composeru budete chtít, aby použil tento renderer kdyby/bootstrap-form-renderer a podstrčíte mu zápis tak jak je uveden na stránce addon ve tvaru:
"kdyby/bootstrap-form-renderer": "2.0.*"
tak stáhne verzi 2.0.* a ta podle packagistu vyžaduje verzi nette 2.0.* , s tou je ale výše zmíněný problém, o kterém psal Šaman. Takže pak composer stáhne nette starší a ne ono 2.1dev, ikdyž jste zadali, že chcete nette v dev stability.

Řešením je, když i renderer necháte stáhnout v dev verzi, to je zápis:
"kdyby/bootstrap-form-renderer": "@dev"
v composer.json.

fliper333
Člen | 36
+
0
-

Ahojte, potreboval by som poradit, ci sa da pouzit tento renderer aj ked v projekte pouzivam ako framework CodeIgniter a z Nette pouzivam iba formy.

Renderery som si pisal vlastne a pouzival som to tak, ze som si v adresari Nette/Forms/Rendering vytvoril renderer, podedil DefaultFormRenderer a v controlleri som dal

use Nette\Forms\Rendering\BootstrapRenderer;

$form->setRenderer(new BootstrapRenderer());

a vsetko fungovalo.

Tento vas renderer som chcel pouzit podobne, ale kedze ma viac suborov, nahral som ho do adresara Nette\Forms\Rendering\BootstrapFormRenderer\BootstrapRenderer a v controlleri som dal:

use Nette\Forms\Rendering\BootstrapFormRenderer\BootstrapRenderer

$form->setRenderer(new BootstrapRenderer());

Pise mi to ale rozne chyby, napriklad:

Recoverable Error - Method Nette\Forms\Form::__toString() must return a string value

alebo

Severity: User Error

Message: Exception in Nette\Forms\Form::__toString(): Call to undefined method Nette\Templating\FileTemplate::noescape(). in /Users/Filip/Web/ts.com/application/third_party/nette-2.0.10/common/ObjectMixin.php:72

Filename: Forms/Form.php

Line Number: 611

alebo

Severity: 4096

Message: Method Nette\Forms\Form::__toString() must return a string value

Filename: smarty/9f3f738057df86748e0a66e514b85b9a433d80c9.file.test.tpl.php

Line Number: 108

Nette pouzivam verziu 2.0.10

Dakujem vopred za pomoc

Lawondyss
Člen | 106
+
0
-

Ahoj lidi,

vytvořil jsem si komponentu formuláře pro přidávání komentáře. V metodě render() pak nastavuju, že se má použít BootstrapRenderer $this->setRenderer(new Kdyby\BootstrapFormRenderer\BootstrapRenderer).
V presenteru vytvářím komponentu

protected function createComponentCommentForm()
{
  return new CommentForm;
}

Problém nastane, když v šabloně zavolám {control commentForm}. Dojde totiž k zacyklení a laděnka vyhodí fatal error Maximum function nesting level of '100' reached, aborting!.

Můžete mi někdo poradit, v čem dělám chybu?

jpatus
Člen | 5
+
0
-

Pre Bootstrap v3:

$renderer = $form->getRenderer();
$renderer->wrappers['controls']['container'] = null;
$renderer->wrappers['pair']['container'] = 'div class="form-group"';
$renderer->wrappers['label']['container'] = null;
$renderer->wrappers['control']['container'] = null;

$form->addText('name', 'Meno:')
     ->setRequired('Prosím zadajte meno skupiny')
     ->getControlPrototype()->class = "form-control";

$form->addSubmit('send', 'Odoslať')
     ->getControlPrototype()->class="btn btn-default";