我正在Magento中创建自定义模块。请告诉我如何在Magento管理员中添加多个网格?或者在网格之后或之前添加一些数据。
提前致谢
答案 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