Obalení inputu ještě před vykreslením formuláře

- Marek Znojil
- Člen | 92
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 | 92
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 | 1313
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 | 92
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.