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の2つのストアがあります。これにより、配列、または1、2、または1と2のいずれかを含む文字列値が返されると想定します。両方のボックスを選択すると、2が返されます。ストアID2を選択すると2が返され、ストアID 1を選択すると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 に答える