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
Fórum:
összekevered a szezont és a fazont
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
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Theme
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
elnevezési szabály
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.
-
clear: both;
theme
köszönöm
de nem a modulban
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().
köszi, igaz most ez nem
köszi, igaz most ez nem világos teljesen, de ezen el tudok indulni.