2012-06-08 128 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 
         ));