Magento自定义管理菜单下拉列表

时间:2011-07-11 11:57:20

标签: magento module admin

我需要一些帮助:我正在开发一个管理模块,我在其中创建了两个菜单。我想在config.xml中设置链接,但我不明白。我的config.xml如下。

<children>
    <menuitem1 module="PrecosMargens">
        <title>Actualizar Preços Custos</title>
        <action>PrecosMargens/example</action>
    </menuitem1>
    <menuitem2 module="PrecosMargens">
        <title>Actualizar Preços vendas</title>
        <action>PrecosMargens/example2</action>
    </menuitem2>
</children> 

但是使用MenuItem2获取错误404.你能帮我解决这个问题吗?在控制器文件中,我的内容如下:

class lbonus_PrecosMargens_ExampleController extends Mage_Adminhtml_Controller_Action
{

    public function indexAction()
    {
        // "Fetch" display
        $this->loadLayout();

        // "Inject" into display
        // THe below example will not actualy show anything since the core/template is empty
        $this->_addContent($this->getLayout()->createBlock('core/template')

        //defino o template
        ->setTemplate('PrecosMargens/list.phtml')); 

        // "Output" display
        $this->renderLayout();

    }    
} 

我想做的是有两个不同的布局,一个布局到另一个布局到link1和link2

1 个答案:

答案 0 :(得分:1)

第二个操作(PrecosMargens/example2)正在尝试在单独的班级indexAction()中找到方法lbonus_PrecosMargens_Example2Controller。这两个动作需要两个控制器。

您可以使用一个控制器。将操作更改为PrecosMargens/example/custosPrecosMargens/example/vendas,这会导致使用匹配方法custosAction()vendasAction()

附录

该操作(成为URL的一部分)采用“路由器/控制器/操作”的形式。路由器通过该模块的config.xml文件的<routers>部分与您的模块匹配 控制器成为附加了“Controller”的类名,因此在这种情况下,“example”成为模块的“ExampleController”。
动作部分导致该类'方法附加“Action”。您可以看到“custos”成为custosAction()方法 当缺少其中一个部分时,它默认为“index”,因此默认控制器为“IndexController”,默认操作为“indexAction”。如果您只使用“PrecosMargens”,它将被用作“PrecosMargens / index / index”。