我有一个简单的表格:
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 视图状态,但没有输出,所以我只是在模板中打印它。
另一件事是默认值,我不知道如何使用它。variable_get 始终为 0。我是否需要创建自己的自定义查询并将其设置为默认值?我认为default_value是由drupal或其他东西自动检索的......
希望我能得到一些帮助。谢谢。
编辑:发现节点 ID 位于:$form['#parameters'][2]