Magento管理员中的多个网格

时间:2013-11-27 09:57:20

标签: magento-1.7

我正在Magento中创建自定义模块。请告诉我如何在Magento管理员中添加多个网格?或者在网格之后或之前添加一些数据。

提前致谢

2 个答案:

答案 0 :(得分:3)

是的,您可以按照以下步骤进行操作

假设您有一个名为Mycompany_Mail的模块。并且你想创建两个被称为网格的网格 SentTray& RecvdTray

1)创建一个文件Grid.php,在Mycompany / Mail / Block / Adminhtml / SentTray /文件夹下创建一个类 Mycompany_Mail_Block_Adminhtml_SentTray_Grid 类 并编写代码以准备其中的列

2)创建一个文件Grid.php,在Mycompany / Mail / Block / Adminhtml / RecvdTray /文件夹下创建一个类 Mycompany_Mail_Block_Adminhtml_RecvdTray_Grid 类 并编写代码以准备其中的列

注意1:不要创建任何其他php文件来初始化网格

注意2:不要在config.xml中包含blocks标记

3)现在,让我们创建一个名为MailController.php的控制器文件来创建 类Mycompany_Mail_Adminhtml_MailController扩展Mage_Adminhtml_Controller_Actionunder 在Mycompany / Mail / controllers / Adminhtml /

文件夹下

4)让我们创建两个动作,一个用于访问发送托盘,另一个用于访问recvd托盘 如下所示

public function sendTrayAction()
    {
        $this->loadLayout();
        $this->_addContent($this->getLayout()->createBlock('Mycompany_Mail_Block_Adminhtml_SentTray_Grid'));
        $this->renderLayout();
    }

public function recvdTrayAction()
    {
        $this->loadLayout();
        $this->_addContent($this->getLayout()->createBlock('Mycompany_Mail_Block_Adminhtml_RecvdTray_Grid'));
        $this->renderLayout();
    }

5)现在,将上述两个动作与菜单项链接起来。多数民众赞成就是这样。

答案 1 :(得分:1)

您可以向页面添加多个网格。否则,您需要在_prepareCollection方法中创建某种复合集合。在这种情况下,您最好创建一个处理数据的新模型。 下面是您应该在一个模块中使用多个网格的结构。

- Namespace
     - Module
          - Block
             - Adminhtml
                 - Submodule1
                        - Grid.php
                 - Submodule2
                        - Grid.php
                 - Submodule3
                       - Grid.php