Magento 添加后台管理 addColumn

简介:

复选框

Java代码   收藏代码
  1. $row->getData($this->getColumn()->getIndex())   
Java代码   收藏代码
  1. $this->addColumn('in_products', array(  
  2.     'header_css_class' => 'a-center',  
  3.     'type' => 'checkbox',//datetime,date ,number  
  4.     'field_name' => 'in_products',//checkbox name  
  5.     'align' => 'center',  
  6.     'index' => 'type',  
  7.     'values' => array(1), //checked value list  
  8.     'disabled_values' => array(13),  
  9.     'use_index' => true//checkvalue=type false=pkid  
  10. ));  

下拉选框

Java代码   收藏代码
  1. $this->addColumn('status',  
  2.     array(  
  3.         'header'=> Mage::helper('catalog')->__('Status'),  
  4.         'width' => '70px',  
  5.         'index' => 'status',  
  6.         'type'  => 'options',  
  7.         'options' => array('new'=>'待发货','sending'=>'发货中','complete'=>'完成')  
  8. ));  

 自定义一列的内容

Java代码   收藏代码
  1. protected function _prepareColumns() {  
  2.     $this->addColumn('address', array(  
  3.         'header' => '地址',  
  4.         'width' => '200',  
  5.         'index' => 'address',  
  6.         'renderer' => Test_Dispatching_Block_Adminhtml_Widget_Grid_Column_Renderer_Address  
  7.     ));  
  8.     return parent::_prepareColumns();  
  9. }  
  10.   
  11. protected function _setFilterValues($data) { //自定义搜索  
  12.     foreach ($this->getColumns() as $columnId => $column) {  
  13.         if ($columnId == 'address' && isset($data[$columnId]) && strlen($data[$columnId]) > 0) {  
  14.             $fields = array('province' => 'province''city' => 'city''street' => 'street');  
  15.             $condition = array();  
  16.             $condition['province'] = array('like' => '%' . $data['address'] . '%');  
  17.             $condition['city'] = array('like' => '%' . $data['address'] . '%');  
  18.             $condition['street'] = array('like' => '%' . $data['address'] . '%');  
  19.             $this->getCollection()->addFieldToFilter($fields, $condition);  
  20.             $column->getFilter()->setValue($data[$columnId]);  
  21.             continue;  
  22.         }  
  23.         if (isset($data[$columnId]) && (!empty($data[$columnId]) || strlen($data[$columnId]) > 0) && $column->getFilter()) {  
  24.             $column->getFilter()->setValue($data[$columnId]);  
  25.             $this->_addColumnFilterToCollection($column);  
  26.         }  
  27.     }  
  28.     return $this;  
  29. }  

页面显示样式local/Test/Dispatching/Block/Adminhtml/Widget/Grid/Column/Renderer/Address.php

Java代码   收藏代码
  1. <?php  
  2.   
  3. class Test_Dispatching_Block_Adminhtml_Widget_Grid_Column_Renderer_Address extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract  
  4. {  
  5.   
  6.     public function render(Varien_Object $row)  
  7.     {  
  8.         $text = $row['province'] . $row['city'] . $row['county'] .$row['street'];  
  9.         return $text;  
  10.     }  
  11. }  

 让Action根据行动态值显示action列表

Php代码   收藏代码
  1. $this->addColumn('action'array(  
  2.     'header' => '操作',  
  3.     'width' => '50px',  
  4.     'type' => 'action',  
  5.     'getter' => 'getId'//action['field']的值  
  6.     'actions' => array(  
  7.         array(  
  8.             'caption' => '删除',  
  9.             'url' => array('base' => '*/*/delete', /*'params'=>array('type'=>1)*/), //其他参数  
  10.             'field' => 'order_id',  
  11.             'filter' => array('status' => 'new'//出现的条件  
  12.         )  
  13.     ),  
  14.     'filter' => false,  
  15.     'sortable' => false,  
  16.     'index' => 'stores',  
  17.     'is_system' => true,  
  18.     'renderer' => Test_Dispatching_Block_Adminhtml_Widget_Grid_Column_Renderer_Action  
  19. ));  

 

 local/Test/Dispatching/Block/Adminhtml/Widget/Grid/Column/Renderer/Action.php

Java代码   收藏代码
  1. <?php  
  2.   
  3. class Test_Dispatching_Block_Adminhtml_Widget_Grid_Column_Renderer_Action extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Action  
  4. {  
  5.     public function render(Varien_Object $row)  
  6.     {   
  7.         $actions = $this->getColumn()->getActions();  
  8.         if ( empty($actions) || !is_array($actions) ) {  
  9.             return '&nbsp;';  
  10.         }  
  11.   
  12.         $i = 0;  
  13.         foreach ($actions as $action){            
  14.             if ( is_array($action) ) {  
  15.                 if($this->_checkFiterAction($action, $row)) continue;  
  16.                 if($i>0){  
  17.                     $out .="&nbsp;|&nbsp;";  
  18.                 }  
  19.                 $out .= parent::_toLinkHtml($action, $row);  
  20.             }  
  21.             $i++;  
  22.         }   
  23.         return $out;  
  24.     }  
  25.         
  26.     protected function _checkFiterAction($action, Varien_Object $row){  
  27.         $result = false;  
  28.         if(isset($action['filter']) && is_array($action['filter'])){  
  29.             foreach($action['filter'] as $key => $filter){  
  30.                 if($row[$key] != $filter){  
  31.                     $result = true;  
  32.                 }   
  33.             }  
  34.         }   
  35.         return $result;  
  36.     }  
  37. }  

要实现各种功能就需要继承renderer

 

相关文章
|
JSON 前端开发 API
TDesign中后台管理系统-用户登录
TDesign中后台管理系统-用户登录
|
前端开发 JavaScript 数据可视化
最棒的 7 个 Laravel admin 后台管理系统推荐
Laravel 已经凭借自己的易用性及低门槛成为 github 上 stars 第一的 PHP 框架,本文将介绍我精心为大家挑选出来的 Laravel admin 后台管理系统,从抽象程度最低(灵活但代码量大)到抽象程度最高(代码量小但不灵活)来帮助大家选择合适自己的 Laravel admin 后台管理系统。
2899 0
|
5月前
|
安全 程序员 数据库
程序员必知:xadmin快速搭建后台管理系统
程序员必知:xadmin快速搭建后台管理系统
211 0
|
6月前
|
搜索推荐 Java 关系型数据库
基于SSM的博客系统【带后台管理】
基于SSM的博客系统【带后台管理】
|
JSON 前端开发 搜索推荐
Laravel系列开源Dcat admin礼盒商城后台管理项目
Laravel系列开源Dcat admin礼盒商城后台管理项目
204 0
如何在WordPress上配置WooCommerce
如果您尝试将WooCommerce与WordPress一起使用,那么在设置它时需要了解一些事项。如果您正在寻找一种简单的方法来设置您的在线商店并且仍然拥有博客功能,这是一个好主意。以下是您可以使用这两个平台开始建立此在线商店的一些最佳方法,而无需雇用某人为您处理所有事情。
|
前端开发 数据库连接 数据库
ThinkPhp5开发实战2:后台管理登录设计
系列文章目录 第一章 ThinkPhp5开发实战1:搭建环境配置TP5框架(持续更新收藏关注) 文章目录系列文章目录前言一、选取合适的前端模板二、资源引用渲染前端1.导入框架引入资源文件2.渲染前端登陆界面三、构造数据库登陆表字段1.设计数据库登录表四、配置数据库连接、添加登录控制器1.TP5连接数据库2.登录控制器3.添加验证码check五、登录演示总结 前言 本文主讲:ThinkPhp5开发实战系列续集:设计登录界面,完成登录操作 对于没有配置开发环境或者TP5框架的同学,请参考文章 [第一章 T
131 0
ThinkPhp5开发实战2:后台管理登录设计
|
数据安全/隐私保护 Windows
|
Apache 安全 搜索推荐
Magento开发的特点有哪些?
这个现代化的,模块化的架构降低了复杂性和维护网站的成本。他的升级也很简单,因为他是开源的,这意味着你可以将创新性的功能整合进去。通过magento电商平台来实现每季更高的销售和更高的效率。
1721 0
|
数据安全/隐私保护
Magento开发有哪些功能呢?
电子商务系统的数据是企业的商业机密。 Magento支持SSL加密传输前台和后台数据并且支持后台权限的分级控制,确保您的数据万无一失。
1726 0
下一篇
无影云桌面