jscalendar + webform

andrew képe

Sziasztok!

Itt már felvetettem a kérdést, de csak picit taglalva.

Szóval a probléma kicsit összetetteb, ezért inkább nyitok neki egy külön szálat.

A lényeg a címből kiderül: egy webform modul által összeállított form bizonyos mezőit (textfield) akarom rávenni arra, hogy jstools/jscalendar által működjön a dolog.

Azt sikerült kiderítenem eddig, hogy tervezik, hogy majd cck fieldek segítségével lehet majd webform -ot építeni és mivel cck -ban már van implementált jscalendar támogatás ezért nem lesz gond.

De nekem most kell és webform modullal.

Szóval nekiláttam és ahol most tartok:

Az adott theme template.php filejába bekerült:

<?php
function phptemplate_webform_form_NODENUM ($form) {
    return _phptemplate_callback('webform_form_NODENUM', array('form' =>  $form));
}
?>

Aztán létrehoztam a webform_form_NODENUM.tpl.php filet.
Kidebuggoltam, hogy mik vannak a $form -ban és hogy hova kell nekem turkálni...

Ahhoz, hogy a jscalendar működjön, elvileg elég volna a text input class -nek megadni, hogy jscalendar (?), szóval csináltam egy ilyet:

<?php
    $form['submitted']['1176207856']['#attributes'] = array('class' => 'jscalendar');
    echo drupal_render($form);
?>

A generált form kódja már jó, de ahogy korábban se volt semmi html head -os include a szükséges css és js fileokra a jstools és js calendár engedélyezése után, kénytelen voltam kézzel beleheggeszteni ezt az előbb említett file elejére:

<?php
    drupal_set_html_head("<script type=\"text/javascript\" src=\"/sites/all/modules/jstools/jscalendar/jscalendar.js\"></script>");
    drupal_set_html_head("<script type=\"text/javascript\" src=\"/sites/all/modules/jstools/jstools.js\"></script>");
    drupal_set_html_head("<style type=\"text/css\" media=\"all\">@import \"/sites/all/modules/jstools/jscalendar/jscalendar.css\";</style>");
    drupal_set_html_head("<style type=\"text/css\" media=\"all\">@import \"/sites/all/modules/jstools/jstools.css\";</style>");
?>

Na félkész a dolog :)

Látszik, hogy alakulóban van, de ahogy jobban megnézem van itt még jscalendar-icon meg hasonlók amiket ki kellene tenni, gondolom arra kattintva lenne jönne fel a cucc stb. Így most még semmi lehetőség nincs arra, hogy felbukkanjon a jscalendar :(

Kérdésem, hogy miként tovább?

andrew képe

Ezt találtam kiindulásnak.
A webform themezésével nincs is baj, de jstools/jscalendar páros abszolult ismeretlen számomra... :(

0
0
roczei képe

http://atlantis.ki.iif.hu/drupal/webform+jscalendar.drupal5.1.tgz

A webform components könyvtárában lévő két fájl a megoldás! A calendar.inc olyan elem, ami dátum és idő páros egyben. A calendar_date.inc pedig csak dátum. A fájlok végén vannak a calendar finom konfigok! Módositsd kedved szerint! :-)

Nagyon fontos! Az elemek nevében nem lehet ékezetes karakter, ebben az esetben nem működik a finom konfig. Valamiért a javascript nem szereti az ékezetes karaktert. Ezt a hibát ki kellene javítani, amint rá jövök szólok. Amúgy ebben a fájlban van a megoldás kulcsa:

jstools/jscalendar/jscalendar.js 18-21. sor. Szerintem ezt kellene átirni. Majd gondolkozz rajta!

Gábor

0
0