如何保存Drupal中自定义模块的复选框值?
问题描述:
如何使用hook_submit保存复选框的状态?如何保存Drupal中自定义模块的复选框值?
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)
我有我的所有其他领域的节能正确,但这些领域保持空白。
感谢 罗伯特
答
在你提交功能,尝试使用下面的代码
$selected = array();
foreach($form_state['values']['version'] as $a => $b)
{
if((string)$b != "0")
{
$selected[] = $b;
}
}
variable_set("var_selected", $selected);
希望这有助于...穆罕默德。
答
更简单:
$save_array = array_filter($form_state['values']['mage']['version']);
$p=0;
foreach ($save_array as $a => $b) {
$node->field_checkboxes['und'][$p++]['value'] = $b;
}
...
node_save($node);
确定将在短期内给一个去,让你知道我是如何得到的。谢谢 – Robert 2012-04-11 23:27:12
得到它的工作与您的帮助,谢谢。 – Robert 2012-05-28 16:25:34
真的很高兴它帮助... - 穆罕默德。 – 2012-05-29 14:15:40