MAGENTO 后台模块开发一

在这一章节,我们将会看到如何为你的模块建立后台页面,更侧重于演示如何在 Magento 中建立 Grid 表,在阅读之前,相信你应该已经阅读和了解了 Magento 模块开发的基础篇章,并且也已经亲手编写过 Module 和 Collections 等功能性模块。

好,现在开始我们旅程… 在这里我会使用 Excellence_Employee 作为模块名, 所以接下去的所有类名将会以此为根据,如需拷贝,请注意更变类名。

我们首先可以参考下总体的文件夹结构目录

MAGENTO 后台模块开发一_第1张图片

首先,在你的模块(Module)下的 Block 文件夹中建立一个新的文件夹”Adminhtml”,然后在此文件夹内建立 Employee.php 文件,它就像是一个容器,包含着 Grid 表,如下是其代码:

现在让我们一行一行的来解析:

这里我们的类继承了 Mage_Adminhtml_Block_Widget_Grid_Container 这个类就是能让我们 Grid 表正常工作的基石,接下去我们看到:

这两行比较关键,因为就是这两个变量告诉 Magento 我们 Grid.php 文件的位置,
如果你打开我们刚刚所继承的父类 Mage_Adminhtml_Block_Widget_Grid_Container , 你会发现这个 _prepareLayout() 方法, 如下:

看完后你就会发现 Magento 就是根据这两个变量来锁定我们 Grid 文件的位置,所以我们的 Grid 文件路径为:

这个概念将十分重要,尤其是我们希望在模块中拥有多个Grid表

现在我们要来创建 Grid.php 文件,相信经过上面的阐述文件路径已清晰可见:

同样值得注意的是,我们 Grid.php 文件继承的是 Mage_Adminhtml_Block_Widget_Grid

关于这个 _prepareCollection() 方法, 不会令人疑惑,只是返回并set该模块的集合,这就是你所要展现在 Grid 表中的具体数据内容

接下来我们要看的就是 _prepareColumns() 方法,这里我们会为我们的 Grid 表添加列:

现在我们要来创建 Controller, 这样我们可以在后台页面中游览我们的 Grid 表

首先我们在后台的导航栏中添加我们自己新增的模块,打开新增模块的 config.xml 文件,并且添加如下代码在 <config> 标签中:

我们先来关注一下 <menu> 标签

<action> 是我们后台 controller 的 URL, 如果我们需要在 Employee 一级栏目下添加两个二级栏目,我们可以这样做:

现在可以来创建我们的 controller 文件了, 在 controller 的文件夹中创建一个新的 “Adminhtml” 文件夹,可在查看下先前的文件结构目录图,代码如下:

这和标准的 controller 文件大致一样,唯一不同的是继承了不同的类

现在再来创建 employee.xml Layout文件, design/adminhtml/default/default/layout/employee.xml

同时也要在 config.xml 文件中声明此文件的存在,这样 Magento 就会去加载此文件,不过在这里,我们已经在先前的 <adminhtml> 标签中已做过声明

现在我们已将 Grid 表放进了 content 区域中, 关于 Grid 表的更多操作,请关注下一章节,现在点击菜单栏应该可以看见我们的 Grid 表了

finalgrid

你可能感兴趣的:(Magento,后台模块开发)