Form submit

krampi képe

Sziasztok

Ha egy formot, igy rakok össze, és jelenitek meg
$html = drupal_render($form['valam1']);
$html.= drupal_render($form['valam2']);
return $html

akkor a submit nem működik.
egy megoldásban láttam ezt a return $html előtt:
$html.= drupal_render($form);

de igy se megy a submit.

Azért lenne rá szükségem, mert igy a form elemeket táblázattal úgy rendezem ahogy akarom.
(A theme_table kinézete nem jó ebben az esetben.)

Ha csak simán feltöltöm a form tömböt, és a végén ezt irom:
return drupal_get_form('my_form');
akkor jó.

mit csinálok rosszul?

Köszi

pp képe

Nem írtad milyen Drupal, de ebből a szempontból nagy különbség nincsen:

http://api.drupal.org/api/file/developer/topics/forms_api.html/5

Az oldal előállításánál meghívod a drupal_get_form(form_id) függvényt és kész!

Készítesz egy form_id nevű függvényt, ami visszaadja a formodat leíró asszociatív tömb-öt (melyben újabb és újabb tömbök vannak ;))

Ha a kinézetét akarod megváltoztatni, akkor meg létrehozol egy theme_form_id nevű függvényt, amiben a drupal_renderrel bűvészkedsz. Amit rosszul csináltál, hogy kihagytad a drupal_get_form függvényt ami tulajdonképpen a form feldolgozó mechanizmus. (tehát csak a lényeget hagytad ki és a púdert poroltad a semmmibe)

pp

0
0
krampi képe

Szia

Köszi a tanácsot,

Drupal 6.2-ről van szó.

A form gyártás sikerült, a theme_my_form funkció viszont nem akarja befolyásolni a megjelenést. Már ha jól értelmeztem a theme funkciót.

Úgy csináltam ahogy az api.drupal.org-on láttam a példában, de valamit biztos kihagytam:

function theme_my_form($form)
{
....
....
$html = drupal_render($form['valami']);

$html.= drupal_render($form);
return $html;
}

Köszi

0
0
aboros képe

a függvényed nevében a "theme" szót a saját sminked nevére kell cserélned, az biztos. tehát, ha mondjuk garland sminket használsz, akkor garland_my_form($form)
és a theme registry -t is ürítened kell, ehhez vagy látogasd meg az admin/build/theme oldalt vagy hívd a drupal_rebuild_theme_registry() -t.

0
0

-
clear: both;

krampi képe

köszönöm

0
0
Sweetchuck képe

A modulban maradjon a függvény neve theme_form_id(). A sminkben kell lecserélni a theme-t a smink nevére.
Ha esetleg így sem müködik, akkor használd ezt http://api.drupal.org/api/function/hook_theme/6

azénmodulom_valami_form(). ez készíti az ürlapot

#3 theme_azénmodulom_valami_form().
#2 themeenginename_azénmodulom_valami_form(). pl. phptemplate_azénmodulom_valami_form().
#1 sminkneve_azénmodulom_valami_form().

0
0
krampi képe

köszi, igaz most ez nem világos teljesen, de ezen el tudok indulni.

0
0