Sziasztok,
az elmúlt napokat a webform és kapcsolódó modulok mélyebb megismerésével töltöttem. Sok hasznos dologgal találkoztam, és igazán sokrétűnek találtam ezt a modult, de...
elakadtam azon a ponton, amikor a kiválasztott mezőket kellene valós időben összeadni.
Pontosítok:
egy 3 napos konferenciára való regisztrációkor pl. minden napra külön lehet étkezést rendelni. ezeket check box-okban lehet kipipálni, kinek mi kell. mindegyikhez tartozik egy összeg, és ahogy "pipálgat" egy végösszeg mezőben folyamatosan hozzáadogatja az összegeket.
erre egy pl.: http://www.convention.hu/conferences/registration.php?id=271
itt található egy regisztrációs díj összesen mező. ilyen kellene nekem is.
azt sejtem, hogy ezt talán csak php-val lehetne megoldani(de hátha nem), de ilyen tudásban nem bővelkedem, de talán alapműveleteket viszonylag gyorsan el tudnám sajátítani, ha egyáltalán ez lenne a megfelelő irány.
Tanácsot kérnék, merre kellene indulni, illetve folytatni?
Köszönöm előre is
Üdv.:
Gábor
nem PHP -> JavaScript
Valós idejű változtatásokat egy weboldalon nem tudsz PHP-val megoldani. Erre a JavaScript való.
Ha tényleg nagyon kezdő vagy, akkor nem lesz egyszerű a feladat, de röviden leírom lépésenként mire lehet szükséged:
- Az adott webformba kell illesztened egy JavaScript-et.
Ezt így teheted meg: http://drupal.org/node/342183
Dióhéjban: Az oldalon használt smink vagy egy saját modul könyvtárába bemásolod a webform modulból a 'webform-form.tpl.php'. Ebből meghívod a saját kis JavaScript-edet.
- Írsz egy JavaScript-et, ami elvégzi a feladatot. Ezt is a sminked vagy saját modulod könyvtárába teszed. Itt nagy segítség, hogy a Drupal alapból jQuery-t használ, így használhatod ennek a függvényeit. Konkrétan ezekre lesz szükséged:
Erre, hogy meg tudd vizsgálni, mikor változik egy űrlapmező értéke: http://jqapi.com/#p=change
És erre, hogy meg tudd változtatni egy másik űrlapmező értékét: http://jqapi.com/#p=val
Ez csak elsőre tűnik ám nagyon nehéznek, mindenesetre gyakorlat nélkül szép kihívás lesz...
Bátran kérdezz tovább!
- - -
Juhász Márton
http://juhaszmarton.hu
hálás köszönet
Hálás köszönet a kimerítő infóért, nekilátok...
Üdv.:
Gábor
kicsit belezavarodtam
gondoltam nem csak úgy beleugrok a közepébe, így vettem egy JavaScrip könyvet és belemerültem, hogy legyen némi fogalmam az alapokról is. majdnem végeztem vele, így gondoltam, most már bátrabban nekiláthatok.
azt írod, hogy itt jQuery-t használhatok, mivel feltételesen írtad ez azt jelenti, hogy nyugodtam a JS kódot is használhatom helyette?
Illetve a Webformba - bár a linket elküldted, és el is olvastam, - beilleszteni a JS-t kicsit zavaros, vagy csak nem tudom jól értelmezni:
amit a drupal 6-hoz ír egyszerűen nem világos, melyik kódot kell webform-form.tpl.php fileba illeszteni, lehet az angolom kopott kicsit már, de akárhányszor olvasom nem értem.
Világosíts fel lécci.
illetve ha pl. egy + buttont szeretnék rakni a formra, akkor ilyen lehetőség a különböző webform általam ismert kiegészítőiben nincs. Melyik php filet kellene szerkesztenem ahhoz, hogy ilyen kiegészítéseket tudjak tenni?
ugyan a themdev. próbáltam nézeget, mi merre, de nem kaptam számomra értelmezhető infót.
Bocs a sok kérdésért, de szeretném ezt a részét is megtanulni és egyenlőre elég homályos.
Köszi,
Gábor
1- tpl.php Először akkor kell
1- tpl.php
Először akkor kell egy saját verzió a 'webform-form.tpl.php' -ból, amit átnevezel így: 'webform-form-{nid}.tpl.php' ahol a {nid} helyére a node-id-t írod. (pl.: webform-form-12.tpl.php). Ez azért jó, mert a módosításaid ilyenkor csak a kiválasztott form esetében lesznek érvénesek.
2- js
Létrehozol egy .js fájlt. Igen, használhatsz bármilyen js kódot, nem kell feltétlenül jQuery-nek lennie.
Ezt a js fájlt kell meghívnod az előbb létrehozott .tpl.php fájlból, a következő képpen:
(http://api.drupal.org/api/function/drupal_add_js/6)
Ezzel elvileg az adott form esetében be fog töltődni a js fájlod.
(Persze lehet ezt másféleképpen is csinálni, de korábban ebbe az irányba indultunk.)
3- +button
Nem tudom, mire gondolsz... Ezt kicsit fejtsed ki bővebben.
De szerintem a válasz itt is olyasmi lesz, hogy a webform-form.tpl.php-val kell variálni...
(remélem azt nem kell mondani, hogy a webform-form.tpl.php-t egy saját smink/modul könyvtárába kell tenni, ahogy a js fájlt is, és ott piszkálgatni, nem pedig a core-ban!)
- - -
Juhász Márton
http://juhaszmarton.hu
így már
így már sikerült a kapcsolatot összehozni a JS és a node között, köszi.
próbaként ezt a kódot akartam kipróbálni:
de semmi, azt mondja hibának hogy obj is null.
csináltam egy síma html-t és abban is kipróbáltam és ott rendesen megy.
mi lehet a gond?
köszi
Gábor
Sajnos a js nem az
Sajnos a js nem az erősségem...
De ha jól tippelek, akkor lehet, hogy nincs "header" id-jű elemed?
- - -
Juhász Márton
http://juhaszmarton.hu
sajna nem ez a gond
sajna nem ez a gond, direkt egy olyat választottam, ami tutira van.
beküldtem
beküldtem egy másik fórumtémát, más megközelítésből, mindenesetre köszi a segítséget, sokat haladtam előre
Üdv.:
Gábor