Obalení inputu ještě před vykreslením formuláře
- Marek Znojil
- Člen | 90
Ahoj,
je možné nějakým způsobem nadefinovat obalení inputu tagem ještě před vykreslením formuláře?
<input>
na
<span><input></span>
Díky.
M.
- dakur
- Člen | 493
@Polki Myslel jsi manuální rendering?
To určitě jde, ale možná je to pro toto overkill. @MarekZnojil
Nešlo by to udělat přes $wrappers
? Viz https://doc.nette.org/…ms/rendering#…
a tam hledej wrappers
. Konkrétně asi
wrappers['control']
.
Editoval dakur (10. 9. 2020 16:02)
- Marek Znojil
- Člen | 90
dakur napsal(a):
@Polki Myslel jsi manuální rendering?
To určitě jde, ale možná je to pro toto overkill. @MarekZnojil Nešlo by to udělat přes
$wrappers
? Viz https://doc.nette.org/…ms/rendering#… a tam hledejwrappers
. Konkrétně asiwrappers['control']
.
Ano, takto to není problém, ale je možné to provést na samotný input?
Třeba nějak takto?
$form = new Form;
$form->addText('name', 'Name')
->getControlPrototype()... // Zde třeba nějakým způsobem nadefinovat 'rodiče' pro pole.
;
Z původního komentáře to nejspíše nevyznělo tak jednoznačně.
- Marek Bartoš
- Nette Blogger | 1274
V čem je manuální render overkill? Nette nabízí makro formPrint na
vyrenderování kódu formuláře. Pak už stačí prostý copy paste a upravit
html element v šabloně, tak jak to s MVC architekturou má být.
Spíš je overkill se snažit vše řešit rendererem, než napsat jednoduchou
šablonu.
- Marek Znojil
- Člen | 90
Mabar napsal(a):
V čem je manuální render overkill? Nette nabízí makro formPrint na vyrenderování kódu formuláře. Pak už stačí prostý copy paste a upravit html element v šabloně, tak jak to s MVC architekturou má být.
Spíš je overkill se snažit vše řešit rendererem, než napsat jednoduchou šablonu.
Souhlasím, makro formPrint je cool.
Jenom jsem narazil na nějakou problematiku a zajímalo mě, jestli by to nešlo vyřešit ještě v samotné definici.
Toto by byla spíže otázka nastavení rodiče, ale netuším zda v Nette\Utils\Html to nějak lze?
- dakur
- Člen | 493
@Mabar Já osobně používám pouze manual rendering, ale pokud už
Nette nabízí užití wrappers
, pak je manual rendering na
obalení inputů podle mého názoru overkill i s {formPrint}
,
protože to znamená, že místo toho, aby ti default renderer usnadňoval
jednoduché věci, tak si to stejně musíš napsat a udržovat sám, byť
s pomocí copy&paste.
@MarekZnojil To už bohužel nevím, sám jsem s wrappers
nikdy nepracoval a přiznám se, že renderování formů je pro mě pořád trochu
magic.