0

我已使用以下代码在我的自定义模块表单中添加多选属性

$fieldset->addField('multiselect2', 'multiselect', array(
      'label'     => Mage::helper('checkout')->__('Select Type2'),
      'class'     => 'required-entry',
      'required'  => true,
      'name'      => 'title',
      'onclick' => "return false;",
      'onchange' => "return false;",
      'value'  => '4',
      'values' => array(
                            '-1'=> array( 'label' => 'Please Select..', 'value' => '-1'),
                            '1' => array(
                                            'value'=> array(array('value'=>'2' , 'label' => 'Option2') , array('value'=>'3' , 'label' =>'Option3') ),
                                            'label' => 'Size'    
                                       ),
                            '2' => array(
                                            'value'=> array(array('value'=>'4' , 'label' => 'Option4') , array('value'=>'5' , 'label' =>'Option5') ),
                                            'label' => 'Color'   
                                       ),                                         

                       ),
      'disabled' => false,
      'readonly' => false,
      'after_element_html' => '<small>Comments</small>',
      'tabindex' => 1
    ));

它的工作很好。但我想将值设置为动态。这意味着我想在这个多选属性下显示所有类别列表。我已经搜索了很多东西。但我无法得到。我们可以使用 foreach 循环为该属性添加值吗?或有任何其他方式来做到这一点?请帮帮我!

4

1 回答 1

3

您可以在之前使用任何数据准备值数组,然后在表单中使用它。对于类别,它是这样的:

$categories = Mage::getModel('catalog/category');
$values = array();
foreach ($categories as $category) {
    $values[] = array('label' => $category->getName(), 'value' => $category->getId());
}

希望它很清楚并且对您有用。

于 2013-10-18T10:50:52.640 回答