如何在Drupal中保存Custom模块中的复选框值?

时间:2012-04-10 20:22:10

标签: php drupal drupal-7 drupal-fapi drupal-forms

如何使用hook_submit保存复选框的状态?

hook_form:

$versionArray = array('ver 1.7.0.0-beta1' => 'ver 1.7.0.0-beta1', 'ver 1.6.2.0' => 'ver 1.6.2.0', 'ver 1.5.1.0' => 'ver 1.5.1.0', 'ver 1.4.2.0' => 'ver 1.4.2.0', 'ver 1.3.3.0' => 'ver 1.3.3.0');

$form['mage']['version'] = array(
    '#type' => 'checkboxes',
    '#title' => t('Select'),
    '#required' => TRUE,
    '#options' => $versionArray
);  

hook_submit:

....
$node->field_checkboxes[0]['value'] = $form_state['values']['mage']['version'];
....
node_save($node)

我已正确保存所有其他字段,但这些字段仍为空白。

由于 罗伯特

2 个答案:

答案 0 :(得分:6)

在提交功能中尝试使用以下代码

$selected = array();
foreach($form_state['values']['version'] as $a => $b)
{
    if((string)$b != "0")
    {
         $selected[] = $b;
    }
}
variable_set("var_selected", $selected);

希望这有帮助......穆罕默德。

答案 1 :(得分:0)

更简单:

%b  expand backslash escape sequences in the corresponding argument