Hellósztok
Le kéne programoznom egy modulban egy űrlapot (szobafoglalási modul), úgy hogy bizonyos mezők, csak bizonyos felhasználótípusok láthassanak (vagyis több / más értékek jelenjenek meg a be és a be nem jelentkezett felhasználóknak). Utána pedig majd egy felület kell ahol a saját foglalásokat kezelhetik a felhasználók, és egy ahol az admin/moderátorok kezelhetik a beküldött foglalásokat.
Nagyjából ennyi lenne a feladatom összefoglalva, de még elég amatőr vagyok így nem egyszerű. Ott tartok, hogy megcsináltam az installálást, és a MODULE fájlban elkezdtem megvalósítani az űrlapot:
function reserve_init() { // drupal_set_message(t('Drupal modulom.')); } function reserve_myform() { $form['firstname'] = array( '#type'=> 'textfield', '#title' => t('First name'), '#required' => TRUE, ); $form['lastname'] = array( '#type'=> 'textfield', '#title' => t('Last name'), '#required' => TRUE, ); $form['radio'] = array( '#type' => 'radio', '#title' => t('Sex'), '#default_value' => 'Male', '#options' => array( 1 => 'Male', 2 => 'Female', ), '#description' => t('Please choose an option.'), ); return $form; }
Csak itt nem tudom, hogyan tovább. Mit kell ahhoz csinálni, hogy meg is jelenjen a weblapon az űrlap? Milyen függvényeket kell még ehhez írni a modulba, és utána, hogyan jelenítem meg a weboldalon, akár tartalomtípusként vagy bárhogy? Nincs esetleg véletlenül egy magyar nyelvű leírás erről, hogyan hozzunk létre űrlapot? Valami hasonló, mint a "Drupal Modul készítése egyszerű" leírás, mert az valami nagyon hasznos volt :).
Előre is kösz minden segítséget :)
Pár egyszerű lépés
A megírt form-odat valahol meg kell jelenítened.
Pl: csinálsz egy hook_menu()-t az alábbi struktúrával:
Ahhoz, hogy működjön a frissen létrehozott menü, látogasd meg mentés után az admin/build/modules oldalt.
btw: sok lehetőséged van a form-ok kezelésére. Pl: system_settings_form függvény, bár esetedben érdemes saját submit függvényt írni hozzá.
a jogosultságkezeléssel kapcsolatban, pedig olvass utánna a hook_access függvénynek.
*----*----*
$node ? 'alma' : 'bor'
*----*----*
kösz, utánanézek a hook_access-nek
kösz, utánanézek a hook_access-nek, és már aktiváltam a modult a modulok között, csak az érdekelne, hogy utána, hogyan tovább? nincs valami magyar nyelvű leírás a system_settings_form-hoz vagy a submit függvényhez? vagy elmagyarázná valaki? vagy ami talán legegyszerűbb lenne: nincs véletlenül egy ehhez hasonló modul, amiből tudnék puskázni? :)
elírtam
nem a hook_access-t akartam írni, hanem a hook_perm-et.
bocs még egyszer.
Magyar tutorialokat nem tudok, szóval ebben nem tudok segíteni :/
*----*----*
$node ? 'alma' : 'bor'
*----*----*
semmi gond
semmi gond, akkor a hook_perm-nek nézek utána :)
és arról nincs valami leírás
és arról nincs valami leírás (akár angol), hogyan kell a submit függvényt írni? vagy valami ilyesmi? és hogyan hívom meg utána a függvényt / űrlapot, vagy ágyazom bele egy oldalba, esetleg tartalomtípussá kéne alakítanom?
Agreservations?
Nem válasz a kérdésedre, csak egy tipp. Szerintem létezik már az (bár igaz, hogy még csak béta), amit meg szeretnél valósítani:
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
ez nagyon jól jön :)
ez nagyon jól jön, tudok belőle puskázni és ötleteket meríteni :)
kösz :)
ú, mégse :(
ú, mégse :(, ez nagyon jó kis modul és hasznos. fel is használnám ezt a weblapon ha nem az lenne a feladatom, hogy írjak egy modult :(, így még mindig az űrlap megjelenítésével bajlódok :(...
megírtam a modult (remélem jól), majd aktiváltam a modult a weblapon, de megjeleníteni nem tudom :(. olvastam neten, hogy a "drupal_get_form()"-al vagy a "drupal_execute()" funkciókkal lehet csinálni, de nem teljesen értem a működésüket, hogy ezeket hova írjam, miket kell meadni paramétereknek ($form_id, &$form_state...) és utána hol jelenik meg az űrlap?
Bocs ha nagyon idióta dolgokat kérdezek, csak sajnos nem nagyon találtam használható magyar leírást, pedig hasznos lenne a modulírás / űrlapcsinálásról valami ami elmagyarázná a dolgokat :( (vagy lenne egy sima űrlap modulra példám :) ), persze tudok angolul, de olyan szinten nem, hogy teljes mértékben megértsem a leírásokat...
Szóval kösz előre is minden segítséget :)
ez a kódom a modul fájlban:
szóval
A hook_menu-ben a page callbacked egy függvény, a drupal_get_form, az argumentuma pedig a room_reserver_myform.
Tehát a formodat a hook_menu-ben definiált útvonalon láthatod: reservation. A drupal ezeket alapból a navigation menübe helyezi.
A beküldés kezeléséhez pedig tudsz megadni függvényt a következő formában:
$form['#submit'] = array('mymodule_form_submit_handler');
utánna csinálsz egy függvényt a #submitban megadott névvel, a paraméterei a $form, &$form_state
a room_reserver_page függvényedet pedig sehol se hívod meg :)
*----*----*
$node ? 'alma' : 'bor'
*----*----*
nagyon jó leírás :)
nagyon jó leírás :), csak valami gond volt először mert ezt írta ki:
warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'room_reserver' was given in C:\wamp\www\site\includes\form.inc on line 372.
de csak először írta ki, most már nem, aztán beírtam a "function room_reserver_myform() {}"-ba egy "$form['#submit'] = array('room_reserver_form_submit_handler');" sort, végül beírtam egy oldalba, hogy:
hibát nem jelez, de nem is jelenik meg semmi, és a navigation-ben sem jelenik meg semmi új :(, mondjuk ez a rész kimaradt: "utánna csinálsz egy függvényt a #submitban megadott névvel, a paraméterei a $form, &$form_state", konkrétan nem tudom, hogy kéne csinálni :(, elég béna vagyok :(
igen igen0
gondolom azt a hook_menu-t egy az egybe bemásoltad. Lemaradt a végén egy 's' a return-nél :)
*----*----*
$node ? 'alma' : 'bor'
*----*----*
valamit megint elcsesztem :(
valamit megint elcsesztem :(, bemásoltam ezt az egészet és így se jelenít meg semmit...
Elég ennyit írni a weblapon egy oldalra:
és így elvileg mennie kéne? vagy kéne még valami más is? mondjuk a navigációnál sincs benne, és a jogosultságoknál se jelenik meg ez a modul, pedig be van kapcsolva, vagy a változtatásoknál ki és be kell kapcsolni újra?... tök gáz már amennyit bénázok :)
nem hinném
Nem követtem teljesen ezt a szálat, de gyanítom, hogy nem adtál meg visszatérési értéket.
tudtam, hogy valami ilyen apróság :)
tudtam, hogy valami ilyen apróság lesz a gond :), de így végre működik :).
Ezer köszönet mindent, a korábbi részletes leírásokat és a válaszokat a leghülyébb kérdéseimre :) (lesznek még szerintem :) ).
Minek újból feltalálni...
...ha már egyszer van ilyen? Hidd el, hogy ami energiát belefektetsz a sajátodba, azt jobban tudnád hasznosítani a meglévő beüzemelésére, testreszabására.
De te tudod... :)
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
tudom, hogy jobb lenne az
tudom, hogy jobb lenne az, de nem tehetek mást, ilyen az oktatási rendszer színvonala :S... el vannak szállva, hogy mennyire lemodellezik a cégek munkáját pedig fogalmuk sincs hogyan működik egy cég... az meg a másik, hogy kiadnak egy olyan feladatot, amihez senki sem ért ott (még a konzulensem se) így dolgozhatok egy ismeretlen technológiával minden segítség és magyar leírás nélkül :S...
morzsák
Jó reggelt!
Egy két morzsát küldök ami hasznos lehet.
http://drupal.hu/forum/egyedi-regisztr%C3%A1ci%C3%B3s-%C5%B1rlap-l%C3%A9...
Aztán: naptár a foglaláshoz
http://www.drupaltherapy.com/node/76
Aztán:a webform ami űrlapbeküldésre szolgál
http://drupal.org/project/modules?filters=drupal_core%3A87&solrsort=sis_...
Vannak szobafoglalási modulok is
http://drupal.org/project/modules?filters=drupal_core%3A87&solrsort=sort...
Ezzel pedig lefordíthatod a webhelyeket magyarra
http://translate.google.com/#
tamoca