Nefunkcni doplnek DatePicker+

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

Ahoj,

stahl jsem si nejaktualnejsi verzi nette 2–1dev a snazim se zprovoznit doplnek DatePicker+. Delam to naprosto stejne jako v jine aplikaci, kde pouzivam nette 2.0 a tam mi to funguje. Nyni mi to vyhazuje chybu:

Class 'Nette\Http\SessionSection' not found

v souboru „File: …\application\libs\Lenny\Form\DatePicker.php Line: 251“ coz je vlastne tento soubor:
https://gist.github.com/…0fbef02e8d57

V bootstrapu registruji doplnek takto:

\Nette\Forms\Container::extensionMethod('addDatePicker', function (\Nette\Forms\Container $container, $name, $label = NULL) {
	return $container[$name] = new \Lenny\Form\DatePicker($label);
});

a ve forlumari pridavam novy input takto:

$this->addDatePicker("aa", "AA");

Jak rikam, v aplikaci, kde pouzivam o trochu starsi nette to funguje a tady ne. Problem bude asi v souboru Nette/Http/Sessions.php v metode „getSection()“, protoze tady to tu chybu nejspis vyhodi…

nenapada nekoho, kde by mohl byt problem?

Jan Tvrdík
Nette guru | 2595
+
0
-

pepelopez wrote:
Nyni mi to vyhazuje chybu:

Class 'Nette\Http\SessionSection' not found

Zřejmě načítáš Nette tak bizardním způsobem, že ti nefunguje autoloading. Zkus tu třídu načíst ručně.

pepelopez
Člen | 9
+
0
-

to se mi nezda, vzhledem k tomu, ze je to temer cista kopie sandboxu, ktery byl primo v zip baliku…

hmm tak na tom asi neco preci jen bude.. nacetl jsem tridu sessionSection rucne v bootstrapu a uz to haze zase jinou chybu:

Declaration of Lenny\Form\DatePicker::validateRange() should be compatible with that of Nette\Forms\Controls\BaseControl::validateRange()

opet radek 251… takze problem bude asi nekde jinde a nacitat tridu rucne asi nebude reseni.

llook
Člen | 407
+
0
-

Tyhle chyby by PHP mělo hlásit vždy na tom řádku, kde nastanou, tohle je divný. Takhle od boku bych to tipoval na nějaké zabugované rozšíření, jmenovitě APC.

pepelopez
Člen | 9
+
0
-

tim APC myslis:

http://php.net/manual/en/book.apc.php

neco si o tom prectu, alefakt mi hlava nebere, proc to vsude jinde funguje a jen ted to prestalo.. na lokale mam nainstalovany xampp, ktery jsem nijak neupravoval :) no zkusim si precist co to ta APC je.

zatim diky!

Patrik Votoček
Člen | 2221
+
0
-

pepelopez napsal(a):

Declaration of Lenny\Form\DatePicker::validateRange() should be compatible with that of Nette\Forms\Controls\BaseControl::validateRange()

Vzdyt ti to úplně jasně říká co je za problém v Nette 2.1.x (dev) se měnila implementace validateRange (resp přesouvala df888b9) budeš tedy muset tady https://gist.github.com/…0fbef02e8d57#L212 přepsat self na \Nette\Forms\IControl.

PS: doplňky z Addons by se měli používat se stable nette pokud není uvedeno jinak!

llook
Člen | 407
+
0
-

Patrik Votoček napsal(a):

pepelopez napsal(a):

Declaration of Lenny\Form\DatePicker::validateRange() should be compatible with that of Nette\Forms\Controls\BaseControl::validateRange()

Vzdyt ti to úplně jasně říká co je za problém v Nette 2.1.x (dev) se měnila implementace validateRange (resp přesouvala df888b9) budeš tedy muset tady https://gist.github.com/…0fbef02e8d57#L212 přepsat self na \Nette\Forms\IControl.

PS: doplňky z Addons by se měli používat se stable nette pokud není uvedeno jinak!

Tohle je jasný, ale proč to hlásí chybu na řádku 251 (poslední řádek souboru, na kterém je akorát })? Mělo by to hlásit na řádku 212.

Jan Tvrdík
Nette guru | 2595
+
0
-

Vydal jsem dnes DatePicker 2.3, který kompatibilitu s 2.1-dev opravuje.

jtousek
Člen | 951
+
0
-

Osobně raději používám obecnější DateInput. Kromě data umí vybírat i čas, týden nebo měsíc.