Hellósztok
Nekem olyan problémám lenne, hogy Webform modulban csináltam egy kérdőívet, és ott van egy dátumformátumú mező, amihez kéne egy olyan lekezelés, hogy csak a mai naptól (vagy inkább holnaptól) lehessen beállítani adatot, mivel alapvetően egy foglalásról van szó, és a múlt hétre foglalásnak nincs értelme gyakorlatilag.
Nagyon fontos és sürgős lenne a segítségetek, mivel 5 nap múlva van a leadási határidő, de nem akarják elfogadni e nélkül, és nem szívesen fizetnék a következő félévben tandíjat. És sajnos a JavaScripthez, és a komolyabb PHP programozási dolgokhoz nem nagyon értek... :S
Ha valakinek van valami ötlete, hogy hova kell ezt a feltételt írni, és hogy hogyan kell ilyen feltételt írni, vagy tud valaki egy másik modult, amiben alapból le van ez kezelve, vagy akár valaki már meg is valósította ezt korábban :), az lécci segítsen.
Előre köszönök minden segítséget :).
Van ott a dátumnál olyan
Van ott a dátumnál olyan beállítás hogy kezdő év, azt állítsd 2010-re. Amikor új összetevőt viszel fel akkor a második lépés. Ezzel az a gond, hogy jövőre újra kellene állítani. Ha cck-date modul párossal csinálnád meg az űrlapot ott beállítható, hogy -0; + 50. ekkor mindig az aktuális év a legkisebb válaszható. EZ ITT egy cck-date megoldás, a munkavégzés kezdete mezőt kell (6. mező föntről) nézni
megpróbáltam ezzel, de
megpróbáltam ezzel, de webformon belül meg lehet adni közvetlenül, hogy mire lehet foglalni, mondjuk 2010-2012-ig, ez elég fapados megoldás, de nem is ez a problémám, hanem hogy meg például lehet foglalni mondjuk tegnapra, és ezt kéne kiszűrni, hogy azt ne engedje, és mondjuk egy hibát írjon ki ilyenkor is, mint ahogy akkor is hibát ír amikor nem jó e-mail formátumot adok meg, vagy kihagyok 1 értéket... megnéztem azt a cck-date megoldást, és nagyon jól néz ki, sokkal elegánsabb lenne mint az enyém a webformban, de kipróbáltam és ott sincs lekezelve az hogy múltbéli dátumokat ne lehessen megadni, így ez se megoldás sajnos a problémámra :(
de azért kösz a segítséget :)
Van egy olyan lehetőség, hogy
Van egy olyan lehetőség, hogy additional processing, ahol lehet ellenőrizni a bevitt adatok helyességét. Komolyabban nem mélyedtem bele, de itt van néhány link, ahol utána tudsz nézni.
http://drupal.org/handbook/modules/webform/validation-code
http://drupal.org/node/549204
http://drupal.org/node/434122
http://drupal.org/node/216669
5 nap alatt tutira megtalálod a megoldást :), és ha megvan, kérlek írd be majd ide!
Gazsesz
Kösz a linkeket, úgy tűnik
Kösz a linkeket, úgy tűnik ezek alapján meg lehet oldani, csak sajnos a modulprogramozáshoz meg a PHP kódokhoz nem igazán értek, és pár nap alatt nem is lehet ennyire elsajátítani :(
Az első linken belül az első két lépést megcsináltam, de a 3.-at nem nagyon vágom, hogy kéne, mivel nem találok Advanced Settings-et (lehet a magyar verzió nehezíti a megtalálását), csak az Árlapbeállításoknál, van olyan hogy haladó beállítások, de ott meg nincs beviteli mező, ahova írni lehetne, így gondoltam a webform.module fájlban kell átírni ahol találtam is
/* Start Advanced Settings Form */ /* End Advanced Settings Form */
sorokat. Lehet ezeken belül kéne írni? és ha igen, egézs pontosan hova? és hogyan? mivel itt csak az általános beállítások vannak, a konkrét űrlapomra gyakorlatilag nem lehet innen hivatkozni, de akár még általánosan a dátumformátumokra is lehetne ilyen feltétel, engem az se zavarna, csak a konkrét szintaktikával van a gondom.
Eddig annyira jutottam, hogy lekérem a holnapi dátumot (a holnapi még jobb is mer a ma estére foglalni sincs értelme): $holnap = mktime(0,0,0,date("m"),date("d")+1, date("Y"));
utána pedig gondolom egy feltétel kell, valahogy így:
if ($kivalasztott < $holnap) {
form_set_error('submitted][typed_amount', t('Csak a mai naptól lehet foglalni!'));
}
de mivel nem tudok általánosan a dátumokra hivatkozni, a konkrét dátummezőmre meg főleg nem, így elakadtam...
bocs ha primitív a kérdésem, de a PHP programozáshoz analfabéta vagyok :S
És előre kösz minden segítséget, bár holnap estére kétlem, hogy meg tudnám csinálni :(
Érthető, hogy ha ez az
Érthető, hogy ha ez az elvárás akkor ezt kell megcsinálni, de ettől függetlenül ez egy logikátlan feladat. Az érthető elvárás, hogy a beküldhető év ne legyen kevesebb mint az aktuális, és ne kelljen 1900-tól lépegetni felfele, de hogy hónapnál, napnál is ezt kérik... A felhasználók nem elme roggyantak, hogy ne tudják, nem érdemes jelentkezni egy múlt héten tartott konferenciára :-)). Nem véletlen így lettek ezek a modulok is elkészítve, így logikus.