Magento自定义模块-如何添加带有父类别的自定义选择框
我编写了一个模块来拥有自己的菜单栏,而不仅仅是使用类别作为菜单栏 因此,这里我想在自定义菜单模块的Tab/Form.php中添加新菜单的同时显示已经添加的菜单。如何在表单上以下拉/选项列表的形式显示所有现有菜单名。这是我以前使用的菜单表单代码Magento自定义模块-如何添加带有父类别的自定义选择框,magento,Magento,我编写了一个模块来拥有自己的菜单栏,而不仅仅是使用类别作为菜单栏 因此,这里我想在自定义菜单模块的Tab/Form.php中添加新菜单的同时显示已经添加的菜单。如何在表单上以下拉/选项列表的形式显示所有现有菜单名。这是我以前使用的菜单表单代码 $form = new Varien_Data_Form(); $this->setForm($form); $fieldset = $form->addFieldset('menu_form', array('leg
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('menu_form', array('legend'=>Mage::helper('menu')->__('Menu information')));
$note = "Name of this Menu";
$fieldset->addField('title', 'text', array(
'label' => Mage::helper('menu')->__('Menu Name'),
'class' => 'required-entry',
'required' => true,
'note' => $note,
'name' => 'title',
));
$note = "Menu level";
$fieldset->addField('level', 'select', array(
'label' => Mage::helper('menu')->__('Menu level'),
'name' => 'level',
'note' => $note,
'values' => array(
array(
'value' => 1,
'label' => Mage::helper('menu')->__('Level 1'),
),
array(
'value' => 2,
'label' => Mage::helper('menu')->__('Level 2'),
),
),
));
$model = Mage::registry('menu');
$fieldset->addField('parent', 'text', array(
'name' => 'conditions',
'label' => Mage::helper('menu')->__('Parent Menu'),
'title' => Mage::helper('menu')->__('Parent Menu'),
'required' => false,
'note' => $note,
))->setRule($model)->setRenderer(Mage::getBlockSingleton('rule/conditions'));
$fieldset->addField('target', 'select', array(
'label' => Mage::helper('menu')->__('Open in new window'),
'name' => 'target',
'values' => array(
array(
'value' => "_blank",
'label' => Mage::helper('menu')->__('Yes'),
),
array(
'value' => "_self",
'label' => Mage::helper('menu')->__('No'),
),
),
));
$fieldset->addField('status', 'select', array(
'label' => Mage::helper('menu')->__('Status'),
'name' => 'status',
'values' => array(
array(
'value' => 1,
'label' => Mage::helper('menu')->__('Enabled'),
),
array(
'value' => 2,
'label' => Mage::helper('menu')->__('Disabled'),
),
),
));
$note = "Menu Links to Which page. BaseURL(<b>".str_ireplace("index.php/","",Mage::getBaseUrl())."</b>) Will be Added Dynamically, Please add Your new page Refrence alone";
$fieldset->addField('menulink', 'text', array(
'label' => Mage::helper('menu')->__('URL'),
'required' => true,
'class' => 'required-entry',
'note' => $note,
'name' => 'menulink',
));
$fieldset->addField('position', 'select', array(
'label' => Mage::helper('menu')->__('Position'),
'name' => 'position',
'values' => array(
array(
'value' => 1,
'label' => Mage::helper('menu')->__('Top 1'),
),
array(
'value' => 2,
'label' => Mage::helper('menu')->__('Top 2'),
),
),
));
if ( Mage::getSingleton('adminhtml/session')->getMenuData() )
{
$form->setValues(Mage::getSingleton('adminhtml/session')->getMenuData());
Mage::getSingleton('adminhtml/session')->setMenuData(null);
} elseif ( Mage::registry('menu_data') ) {
$form->setValues(Mage::registry('menu_data')->getData());
}
return parent::_prepareForm();
$form=新变量数据形式();
$this->setForm($form);
$fieldset=$form->addFieldset('menu_form',array('legend'=>Mage::helper('menu')->(menu information'));
$note=“此菜单的名称”;
$fieldset->addField('title','text',数组(
'label'=>Mage::helper('menu')->,
“类”=>“必需条目”,
“必需”=>true,
'note'=>$note,
“名称”=>“标题”,
));
$note=“菜单级别”;
$fieldset->addField('level','select',数组(
'label'=>Mage::helper('menu')->,
“名称”=>“级别”,
'note'=>$note,
'值'=>数组(
排列(
“值”=>1,
'label'=>Mage::helper('menu')->(级别1'),
),
排列(
“值”=>2,
'label'=>Mage::helper('menu')->\uuuu('level2'),
),
),
));
$model=Mage::注册表(“菜单”);
$fieldset->addField('parent','text',数组(
“名称”=>“条件”,
'label'=>Mage::helper('menu')->,
'title'=>Mage::helper('menu')->,
“必需”=>false,
'note'=>$note,
))->setRule($model)->setRenderer(Mage::getBlockSingleton('rule/conditions');
$fieldset->addField('target','select',数组(
'label'=>Mage::helper('menu')->\uuuu('openinnewwindow'),
'名称'=>'目标',
'值'=>数组(
排列(
'值'=>“_blank”,
'label'=>Mage::helper('menu')->\uuuu('Yes'),
),
排列(
“值”=>“\u self”,
'label'=>Mage::helper('menu')->,
),
),
));
$fieldset->addField('status','select',array(
'label'=>Mage::helper('menu')->,
“名称”=>“状态”,
'值'=>数组(
排列(
“值”=>1,
'label'=>Mage::helper('menu')->\uuuu('Enabled'),
),
排列(
“值”=>2,
'label'=>Mage::helper('menu')->\uuuu('Disabled'),
),
),
));
$note=“将动态添加指向哪个页面的菜单链接.BaseURL(“.str_-ireplace(“index.php/”,“”,Mage::getBaseUrl())”),请单独添加新页面引用”;
$fieldset->addField('menulink','text',数组(
'label'=>Mage::helper('menu')->,
“必需”=>true,
“类”=>“必需条目”,
'note'=>$note,
'name'=>'menulink',
));
$fieldset->addField('position','select',array(
'label'=>Mage::helper('menu')->\uuuu('Position'),
“名称”=>“位置”,
'值'=>数组(
排列(
“值”=>1,
'label'=>Mage::helper('menu')->,
),
排列(
“值”=>2,
'label'=>Mage::helper('menu')->,
),
),
));
if(Mage::getSingleton('adminhtml/session')->getMenuData()
{
$form->setValues(Mage::getSingleton('adminhtml/session')->getMenuData());
Mage::getSingleton('adminhtml/session')->setMenuData(null);
}elseif(Mage::registry('menu_data')){
$form->setValues(Mage::registry('menu_data')->getData();
}
返回父项::_prepareForm();
在这里,我想在父菜单选项下显示所有添加的菜单。我应该在我的模型类中写些什么,这样我就可以有一个下拉列表来显示它们,并且在添加之后应该将其添加到数据库中
请帮帮我,我在这里挣扎。你可以通过添加这些行来实现这一点 它将以下拉列表的形式显示已添加的菜单,以便您可以选择其中任何一个作为当前项的父菜单
$_menus = Mage::getSingleton('menus/menus')->getCollection();
foreach($_menus as $item)
{
if($item->getParent == NULL){
$_menuItems[] = array(
'value' => $item->getId(),
'label' => $item->getTitle(),
);
}
}
$note = "Choose the parent menus for this item";
$fieldset->addField('parent', 'select', array(
'name' => 'parent',
'label' => Mage::helper('menus')->__('Parent Menu'),
'title' => Mage::helper('menus')->__('Parent Menu'),
'required' => false,
'note' => $note,
'class' => 'HideIt',
'values' => $_menuItems,
));