Prevod na Nette 2.2.6 – problemy, bugy, dotazy
- Kurtas
- Člen | 109
Ahoj,
prechazim z 2.0.15 na 2.2.6 vetsinu problemu se mi povedlo vyresit, ale mam par dotazu a i bugy:
-------- Latte:
Pokud rucne vykresluji Form tak latte nerespektuje parametr class, nevim jestli to povazovat za bug, drive to bylo funkcni, dle me by to melo jit i v latte (at si tam da designer co che) nejen na tvrdo ve formu. Kazdopadne mi to dela dost problemu, vetsinu class nastavejeme takhle v latte + na tom jsou napsane JS
{input inter class => "input-inter input-small offset0"}
Dalsi problem je BUG v Latte spatny preklad viz nize → fatal error
{var $x++} //prelozi jako $x++=NULL
Dale jsem narazil na problem s NOESCAPE makrem, v PHP si generuji HTML ktere pak predam do latte promene a promenou nasledne v latte vkladam do JS scriptu. Drive pravdepodobne latte odstranovalo zalomeni radku i pri NOESCAPE, ted to nedela.
--------- Komponenty
v jedne komponente pouzivam FORM (UI\Forms\Form) nyni se mi nezavola onSuccess
callback, musel jsem nahradit onSubmit … ale nechapu proc, zadne validacni
pravidla tam nejsou, se starou verzi to fungovalo
- petr.jirous
- Člen | 128
toto {input inter class => "input-inter input-small offset0"}
by mělo fungovat stále, problém bude někde jinde.
Než něco nazveš BUGem, tak si ověř, zda to neděláš špatně ty.
{var $x++}
makro var ti vytváří proměnnou, což ty nechceš.
Nahraď za {? $x++}
UI\Forms\Form místo tohoto použij Application\UI\Form
Editoval petr.jirous (24. 11. 2014 17:16)
- David Matějka
- Moderator | 6445
1. checkboxy se ted renderujou jinak, {input}
makro vykresli
oboje – label s inputem uvnitr, bohuzel tak neni mozne ovliznit atributy.
Muzes ale pouzit zcela manualni renderovani pomoci dvojtecky,
{label foo:}{input foo: class=>'bar'} Label{/label}
2. ukaz kod ty komponenty…
- Kurtas
- Člen | 109
@matej21
1. Diky moc, pres ty dvojtecky to slape
2. Jedna se o NiftyGrid viz https://github.com/…rid/Grid.php#L731
- Kurtas
- Člen | 109
Etch napsal(a):
Kurtas napsal(a):
Jeste jsem zapomel na jednu vec: K cemu je dobry ze se u SelectBoxu kontroluje jestli hodnota odpovida nejake polozkce v setItems? Vypnout se to nijak neda, proc se neco takoveho vnucuje?
Aby se tam nedala podstrčit jakákoliv „pytlovina“… :)
Tj to chapu, ale cekal bych ze to bude mozne vypnout :)
- matopeto
- Člen | 395
Neni problem podedit si vlastny selectbox a pretazit setValue metodu: https://api.nette.org/…rol.php.html#…
- Kurtas
- Člen | 109
Dalsi zvlastnost, ve formu mam TextInput kteremu nastavuji DefaultValue a pokud mam nastaveno setDisabled tak se input renderuje bez hodnoty. Samozrejme resi to manualni render, jen nevim jestli je to bug nebo ocekovane chovani.
$this->addText("name", "Name")->setDefaultValue($user->name)->setDisabled();
Edit:
Resenim volat setDefaultValue po setDisabled, nevim proc se v setDisabled maze
hodnota
$this->addText("name", "Name")->setDisabled()->setDefaultValue($user->name); ;
Editoval Kurtas (25. 11. 2014 9:42)
- jiri.pudil
- Nette Blogger | 1032
V čem je to zvláštnost? Prohlížeče hodnotu disabled inputů ani neposílají, takže to moc nedává smysl. Asi spíš chceš ten input nastavit jako readonly.
- jiri.pudil
- Nette Blogger | 1032
Jiné využití vskutku nemá. Liší se od sebe právě tím, že zatímco readonly input se posílá, disabled ne. Pak taky readonly input – na rozdíl od disabled – může dostat focus, má tabindex a uživatel v něm může vybrat text a kopírovat ho. Záleží tedy na tvém use case. Viz také http://stackoverflow.com/…donly-for-ht
- Kurtas
- Člen | 109
Mam formular se SelectBoxy a tento formular nema addProtection. Pokud mam formular otevreny dyl (nevim presne jak dlouho, mel jsem to pres noc na uspanem notebooku) tak prvni submit formulare zahlasi error „Please select a valid option.“ → coz je hlaska pro nevalidni SelectBox, ale kdyz zkontroluji co se posila v POST tak ma spravnou hodnotu, dalsi submit funguje v poradku a v POST se posilaji uplne stejne data.
Napada nekoho cim by to mohlo byt? Blbe se to trackuje kdyz to dela az po nejake dobe :)