2012-06-08 88 views
4

上填充复选框的字段我有哪里我使用Magento的,管理员编辑表单

$form->addField('name', 'checkboxes', array('label' => 'check', 'name' => 'name[]', 
    'values' => array(
     array('value'=>'1', 'label'=>'1'), 
     array('value'=>'2', 'label'=>'2'), 
     array('value'=>'3', 'label'=>'3'), 
     array('value'=>'4', 'label'=>'4'), 
     array('value'=>'5', 'label'=>'5'), 
    ) 
)); 

创建一个复选框列表形式页面。

问题是我无法弄清楚如何让他们在编辑时填充。谁能告诉我如何做到这一点?

我正在使用复选框类型,因此它们显示为列表而不是表单中的单独行。如果有一种方法可以将它们创建为单独的字段,但所有内容都在同一行中,我很想知道它是如何实现的。

回答

8
$form->addField('name', 'checkboxes', array('label' => 'check', 'name' => 'name[]', 
    'values' => array(
     array('value'=>'1', 'label'=>'1'), 
     array('value'=>'2', 'label'=>'2'), 
     array('value'=>'3', 'label'=>'3'), 
     array('value'=>'4', 'label'=>'4'), 
     array('value'=>'5', 'label'=>'5'), 
    ), 
    'value' => array('1', '5'), 
    // or 
    // 'checked' => array('1', '5') 
)); 

然后检查值为“1”和“5”的复选框。欲了解更多详情,您可以检查的lib /瓦瑞恩/数据/表格/元/ Checkboxes.php

+0

值没有工作,但检查做到了。谢谢。 – Ryan

+0

您正在使用哪个版本的Magento? – Serjio

+0

企业1.12 – Ryan

0

我还附上代码,也可以按照下面的链接以获得更多帮助
http://pastebin.com/hKMmryE9

Magento, populating checkboxes fields on an admin edit form 
$form->addField('name', 'checkboxes', array('label' => 'check', 'name' => 'name[]', 
    'values' => array(
     array('value'=>'1', 'label'=>'1'), 
     array('value'=>'2', 'label'=>'2'), 
     array('value'=>'3', 'label'=>'3'), 
     array('value'=>'4', 'label'=>'4'), 
     array('value'=>'5', 'label'=>'5'), 
    ) 
)); 

$form->addField('name', 'checkboxes', array('label' => 'check', 'name' => 'name[]', 
    'values' => array(
     array('value'=>'1', 'label'=>'1'), 
     array('value'=>'2', 'label'=>'2'), 
     array('value'=>'3', 'label'=>'3'), 
     array('value'=>'4', 'label'=>'4'), 
     array('value'=>'5', 'label'=>'5'), 
    ), 
    'value' => array('1', '5'), 
    // or 
    // 'checked' => array('1', '5') 
)); 
0

小改进和验证:

$fieldset->addField('payment_methods', 'checkboxes', array('label' => 'Payment Methods', 'name' => 'payment_methods[]', 
'values' => array(
    array('value'=>'1', 'label'=>'Cash'), 
    array('value'=>'2', 'label'=>'Paypal'), 
    array('value'=>'3', 'label'=>'Authorize.Net'), 
    array('value'=>'4', 'label'=>'Square'), 
), 
     'required' => true, 
     'checked' => array('1','4'), 
     'disabled' => array('1'), ////if you want 
)); 
0
Create $array like below 
Array 
(
    [0] => Array 
     (
      [value] => 1 
      [label] => Value 1 
     ) 
    [1] => Array 
     (
      [value] => 2 
      [label] => Value 2 
     ) 
    [2] => Array 
     (
      [value] => 3 
      [label] => Value 3 
     ) 
    [3] => Array 
     (
      [value] => 4 
      [label] => Value 4 
     ) 
    [4] => Array 
     (
      [value] => 5 
      [label] => Value 5 
     ) 
) 
$fieldset->addField('checkboxes', 'checkboxes', array(


'label'  => 'Select Value', 
          'name'  => 'checkboxes[]', 
          'values' => $array, 
          'onclick' => "", 
          'onchange' => "", 
          'disabled' => false, 
          'after_element_html' => '', 
          'tabindex' => 1 
         ));