Datepicker+ nezobrazí kalendář

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

Dobrý den,

chtěl bych se zeptat, jak vyřešit problém s nezobrazováním kalendáře datepicker+ ? Do addonu jsem nahrál celý datepicker+, do kódu přidal funkci i volání, jquery vkládám, nehlásí se žádná chyba, dokonce nastavení defaultní hodnoty ve formu funguje, ale po kliknutí do položky se nezobrazí kalendář :(

Využívám nejnovější nette 2.0 a php 5.3.

Za odpověď děkuji

Jan Tvrdík
Nette guru | 2595
+
0
-

Prosím o odkaz na živou ukazku.

darthcz
Člen | 113
+
0
-

Zdravím,

bohužel na hostingu neběží php 5.3 :( Takže musím počkat, až mi ho tam admin nahodí.

Aspoň ukázka z kódu:

//Formulář - nefunguje kalendář u ani jednoho datePicker
public function createComponentAddForm() {

            $form = new AppForm();

            $form->addGroup('Administrační údaje');
	    $form->addDatePicker('datePicker1');
	    $form->addDatePicker('datePicker2')
    		 ->setDateFormat('yy-mm-dd')
    		 ->setDefaultValue(new DateTime('2010-09-01'));

//bootstrap.php
Nette\Forms\FormContainer::extensionMethod('addDatePicker',
function (Nette\Forms\FormContainer $container, $name, $label = NULL, DateTime $minDate = NULL, DateTime $maxDate = NULL) {
    return $container[$name] = new JanTvrdik\Components\DatePicker($label, $minDate, $maxDate);
});

//Header
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs">

<head>

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <script type="text/javascript" src="/databaze/system/js/qtip.js"></script>


	<meta name="description" content="PR články" />



	<title>Systém Evidence Klientů  | Založit novou microsite kartu</title>



	<link rel="stylesheet" media="screen,projection,tv" href="/databaze/system/css/screen.css" type="text/css" />



  <script type="text/javascript" src="/databaze/system/js/jquery-1.4.2.min.js"></script>

    <link rel="stylesheet" media="print" href="/databaze/system/css/print.css" type="text/css" />

    <link rel="shortcut icon" href="/databaze/system/favicon.ico" type="image/x-icon" />

</head>
Jan Tvrdík
Nette guru | 2595
+
0
-

Chybí ti tam inicializace jQuery UI Datepickeru. Koukni do dema v distribuci komponenty. Až přijdu domů, doplním instalační instrukce do dokumentace.

darthcz
Člen | 113
+
0
-

Přidal jsem do layoutu

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
        <link rel="stylesheet" media="screen,projection,tv" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/smoothness/jquery-ui.css">
  <script type="text/javascript" src="{$basePath}/js/netteForms.js"></script>

a do template

<script type="text/javascript">
                $(document).ready(function () {
                        $("input.date").each(function () { // input[type=date] does not work in IE
                                var el = $(this);
                                var value = el.val();
                                var date = (value ? $.datepicker.parseDate($.datepicker.W3C, value) : null);
                                var dateFormat = el.data("datepicker-dateformat") || $.datepicker.W3C;

                                var minDate = el.attr("min") || null;
                                if (minDate) minDate = $.datepicker.parseDate($.datepicker.W3C, minDate);
                                var maxDate = el.attr("max") || null;
                                if (maxDate) maxDate = $.datepicker.parseDate($.datepicker.W3C, maxDate);

                                el.get(0).type = "text"; // changing via jQuery is prohibited, because of IE
                                el.val($.datepicker.formatDate(dateFormat, date));
                                el.datepicker({
                                        dateFormat: dateFormat,
                                        minDate: minDate,
                                        maxDate: maxDate
                                });
                        });
                });
        </script>

A bohužel stále nic :(

darthcz
Člen | 113
+
0
-

Tak jsem to rozjel, ale jak jsem to udělal nevím … Zkoušel jsem moc věcí najednou…

Jan Tvrdík
Nette guru | 2595
+
0
-

Sepsal jsem podrobné instalační instrukce, snad tím odpadnou další nejasnosti a problémy s instalací.

Hoodas
Člen | 6
+
0
-

Zdarrrr,
je mi to až trapný se ptát ale nedaří se mi uvést datePicker do provozu.

ať to vkládám kamkoliv, všude mi to hází chyby (např.: bootstrap.php):

use Nette\Forms\FormContainer;
FormContainer::extensionMethod('addDatePicker', function (FormContainer $container, $name, $label = NULL) {
    return $container[$name] = new JanTvrdik\Components\DatePicker($label);
});

$container->application->run();

Laděnka:

*Fatal Error

Class ‚Nette\Forms\FormContainer‘ not found *

Kam stím?

Uvnitř fce to taky nefunguje (ani by to snad nemělo být).
Není něco špatně v namespaces?

Verze PHP 5.3.8, poslední verze nette, v hlavičce doku je všechno, co by tam mělo být.

Jsem v Nette úplnej newbie.

Díky za každý info/radu/helpa.

Editoval Hoodas (15. 10. 2011 6:21)

Filip Procházka
Moderator | 4668
+
0
-

V novém Nette je namespace trochu jinak

use Nette\Forms\Container;

Příště stačí poslat jeden příspěvek jednou, spamování ti nepomůže. viz https://forum.nette.org/…m-datepicker#… Ten druhý prosím smaž a tento ponech.

Lopo
Člen | 277
+
0
-

HosipLan napsal(a):


Příště stačí poslat jeden příspěvek jednou, spamování ti nepomůže. viz https://forum.nette.org/…m-datepicker#… Ten druhý prosím smaž a tento ponech.

prave som pisal odpoved a ked som ju poslal, tak som pozeral ze kde je to na co som odpovedal … :)

Hoodas
Člen | 6
+
0
-

Díky. :)
Jak to tedy udělat krok po kroku?
Teď mi to pro změnu hlásí:
Class ‚Nette\Forms\Container‘ not found

Hoodas
Člen | 6
+
0
-

Ještě dodatek. Mám verzi bez namespaces.