MAGENTO 后台模块开发二

在这一章节,我们将会看到关于 Grid 更为复杂一点的操作,接下去所讲的都是前一章节的延续

修改 Grid 表中行的 URL

如果你想要详细定义 Grid 表中行的 URL, 比如,当用户点击 Grid 表中的任意一行,它将跳转到指定的页面,可以添加如下方法到 Grid.php 文件中

这个方法还是比较容易看懂的, URL 就是你 controller 中的 editAction 方法,它将行的 id 号作为参数进行传递

列_下拉框 – Drop Down Column Type

假设,你想要在 Grid 表中添加一个下拉框,比如你想要添加如下图片中显示的:

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

你可以使用如下方法:

批量操作 – Mass Actions

批量操作功能十分有用,并且使用频率也非常高, 下图所展示的就是批量操作

massactions

通常应用于多行被同时选中时,可将下列代码添加到 Grid.php 文件中

这里我们先来看下:

在你的 controller 文件中,你需要去执行这些批量操作,同样的你也需要执行单个删除操作 deleteAction, 添加至 EmployeeController.php 文件中:

如果想你在 Grid 表中添加 导入/导出 选项,如下图所展示:

exportcsv

我们只需要将这两行代码添加至 _prepareColumns() 方法中

同样你需要在 controller 中为此添加对应的方法

Grid 表 ==> 列中的搜索和过滤 – Custom Search/Filter For a Column

Grid 表中有那么单独一列,你希望搜索功能以不同的方式工作。例如它的 collection 是多表联查的集合,对于列的索引,你希望搜索功能工作起来不同或完全不工作

你需要在 Grid.php 中重写这个 protected 方法 _addColumnFilterToCollection($column):

基于 Ajax 的 Grid

在你 Grid 中, 如果你希望 搜索/分页 和其他一些操作都是基于 Ajax 工作,那么你就要在你的 Grid.php 文件中的 __construct() 方法中添加:

并同时添加另外一个方法:

这个 URL 将会被称作 Ajax 请求,为了获得 Grid 的内容,你需要在 EmployeeContrller.php 文件中添加:

在 Grid 中添加不同的按钮

在默认的 Grid 表中,你只有一个 “Add” 按钮,就像我们所演示的 “Add Employee”,如果你需要添加多个按钮时,如下图:

addbutton

真的要做到,那么我们需要修改 Excellence/Employee/Block/Adminhtml/Employee.php 文件中的 __construct() 方法:

改变默认分页的 Size

你需要在 Grid.php 文件中重写 _preparePage() 这个方法,

现在你可以根据你自己的需要设置 $this->_defaultLimit  $this->_defaultPage

为 Grid 表中的行添加不同的选项

如图所示:

MAGENTO 后台模块开发二_第2张图片

在 Grid 表中,我们还可以自定义其他很多东西,你需要打开 Mage_Adminhtml_Block_Widget_Grid 这个类进行更多的探索和研究

source: http://www.sunzhenghua.com/magento-admin-module-development-part2-grid-forms-tabs-addbutton

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