如何从管理表单中检索多个复选框的值

时间:2012-10-24 22:46:25

标签: php magento

我在后端模块中有一个表单,它使用了一些动态创建的复选框,这样就完成了:

$allStores = Mage::app()->getStores();
foreach ($allStores as $stores) {
    $store = Mage::app()->getStore($stores);
    $values[] = array('value' => $store->getId(), 'label' => $store->getFrontendName());
}
$fieldset->addField('checkboxes', 'checkboxes', array(
    'label' => 'stuff',
    'name'  => 'boxes',
    'values'=> $values,
));

现在对于这个特定的例子,我有两个存储,分别有ID 1和2.我会假设这将返回一个数组,或者包含1,2或1和2的字符串值。如果我选​​择这两个框,它返回2,如果我选择商店ID 2,它返回2,如果我选择商店ID 1,它返回1.如果复选框不是我想在这里使用的,我需要使用什么从一个获取多个值领域?我认为这应该是它的能力,或者它也可能是单选按钮。

2 个答案:

答案 0 :(得分:4)

检查您的html来源

这可能是你的:

<input type="checkbox" name="boxes" value="1">1<br>
<input type="checkbox" name="boxes" value="2">2

这应该是:

<input type="checkbox" name="boxes[]" value="1">1<br>
<input type="checkbox" name="boxes[]" value="2">2

我不知道magento但是在黑暗中拍摄,我相信您可能需要将代码更改为:

$fieldset->addField('checkboxes', 'checkboxes', array(
    'label' => 'stuff',
    'name'  => 'boxes[]',
    'values'=> $values,
));

答案 1 :(得分:4)

需要更改以下行:

'name'  => 'boxes[]',