Input type date, jde nejak vytvořit?

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

Zdravím, řeším drobnost, jak do nette dokážu zadat něco, co v šabloně když tam dám {input nazevPrvku} vykreslilo

<input type="date" name="nazevPrvku">

? Našel jsem ve tři roky starem vlaknu informaci o $form->addDate() nicméně plugin už neexistuje, nebo jsem jej nedohledal a žádné rozšíření nikde není :/ Jde to nějak vytvořit? Popřípadě klidně to vytvořím jako rozšíření abych nezasahoval přímo do nette, nicméně k rozšířením, resp psaní rozšíření jsem se ještě nedostal :D takže by pomohla i nějaká informace k tomu :)

Editoval Webster.K (16. 12. 2016 9:27)

David Matějka
Moderator | 6445
+
+1
-

Tech extensions, ktere to umi, je vic. namatkou treba https://componette.org/nextras/forms/

ale jestli ti jde jen o to type=date a nepotrebujes primo konverzi na DateTime objekt, tak staci

$form->addText(...)
->setType('date');
enumag
Člen | 2118
+
0
-

Přes ->getControlPrototype() se dostaneš k Html instanci a tam můžeš atribut type nastavit. EDIT: Huh ono má nette zkratku. :-D

Ovšem nutno říci že prohlížeče (alespoň desktopové) mají tak mizerně vypadající nativní datepicker, že stejně chceš použít vlastní – na což potřebuješ type="text". Úplně ideální by bylo aby desktopový prohlížeč použil nějaký hezký datepicker a mobilní použil ten nativní pro type="date". Bohužel nevím jak to spolehlivě detekovat.

Editoval enumag (16. 12. 2016 9:52)

Webster.K
Člen | 192
+
0
-

Pro prohlížeče používám prave bootstrap datetimepicker :) ty jsou ok, problém nastane když to chci zadat na mobilu, prave iOS/Android maj zase naopak docela dobře udělaný, když je to type=date, takže v podstatě kompromis mezi tim :) kazdopadne davide děkuji setType :) to pro vyřešení mého problému vklidu stačí :)