Drupal 6-ban csináltam már több formot is FORM API-val, nagyjából minden elsőre sikerült.
Most viszont D7 alatt nem bírom megjeleníteni a formot.
Az echo drupal_get_form('és_itt_a_form_neve')
csak a tömbbel tér vissza, de nem rakja ösze a formot, azaz a képernyőn csak ez a szó jelenik meg: Array.
Ha print_r-el kiíratom a tömböt, akkor megjelenik az a tömb, amit összeállítottam, azaz a drupal_get_form nem csinál semmit.
Változott valami ezzel kapcsolatban a D7-ben a D6--hoz képest? Vagy miért nem működik?
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
'azaz a drupal_get_form nem
'azaz a drupal_get_form nem csinál semmit.'
Pont mint a mi a dolga. Visszaadja a formot, ami egy renderable array, tehát le kell renderelni. Erre taláták fel a drupal_render() függvényt.
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
KÖSZÖNÖM! működik
KÖSZÖNÖM! működik
Csak azt nem értem, hogy a D6-ban ezt sosem kellett meghívni... rákerestem, egyszer sem használtam ezt a függvényt.
igen, mert hatosban a
igen, mert hatosban a renderelt html-t adta vissza a függvény. Hetesben már az oldalkiszolgálás is megváltozott, és lehetőséged van arra, hogy egy tömböt adj vissza, amit aztán a Drupal renderel le. (és ez utóbbi a javasolt) Na ebbe a tömbbe csak be kell dobnod a formot. Ez a mechanizmus azért jó, mert lehetőség van rá, hogy preprocessel belenyúlj a tömbbe, mert mondjuk fel akarod cserélni a dolgok sorrendjét. Pl. egy lapozót nem alulra akarsz, hanem felülre, vagy felülre is.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu