3

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

$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。如果我不想在这里使用复选框,我需要使用什么来从一个字段中获取多个值?我认为这应该能够做到,或者它也可能是单选按钮。

4

2 回答 2

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,
));
于 2012-10-24T23:08:13.460 回答
4

需要更改以下行:

'name'  => 'boxes[]',
于 2012-10-24T23:10:14.383 回答