私は簡単な形をしています:
function mymodule_test_form(&$form_state, $nid) {
form['submit'] = array(
'#type' => 'submit',
'#value' => 'Click me!',
);
$form['mymodule_status'] = array(
'#type' => 'select',
'#attributes' => array('class' => 'myclass'),
'#default_value' => variable_get('mymodule_status', 0),
'#options' => array('one', 'two', 'three', 'four', 'five'),
);
return $form;
}
function mymodule_test_form_submit($form, &$form_state) {
global $user;
db_query("INSERT INTO {mymodule} (nid, uid, number, created) VALUES (%d, %d, %d, " . time() . ")", $nid, $user->uid, $status);
}
そして、node-contenttype.tpl.phpファイルにdrupal_get_form('mymodule_test_form'、$ node-> nid)を出力します。ところで、それはテンプレートにdrupal_get_formを印刷する正しい方法ですか?drupal_get_formをhook_nodeapiビューステートに追加しようとしましたが、何も出力されないため、テンプレートに出力することになりました。
もう1つはデフォルト値ですが、その使用方法がわかりません。variable_getは常に0です。独自のカスタムクエリを作成し、それをデフォルト値として設定する必要がありますか?default_valueはdrupalか何かによって自動的に取得されると思いました...
私が助けを得ることができることを願っています。ありがとう。
編集:ノードIDが下にあることがわかりました:$ form ['#parameters'] [2]