`
hudeyong926
  • 浏览: 2032943 次
  • 来自: 武汉
社区版块
存档分类
最新评论

Magento 添加后台管理 addColumn

 
阅读更多

复选框

$row->getData($this->getColumn()->getIndex()) 
$this->addColumn('in_products', array(
    'header_css_class' => 'a-center',
    'type' => 'checkbox',//datetime,date ,number
    'field_name' => 'in_products',//checkbox name
    'align' => 'center',
    'index' => 'type',
    'values' => array(1), //checked value list
    'disabled_values' => array(1, 3),
    'use_index' => true, //checkvalue=type false=pkid
));

下拉选框

$this->addColumn('status',
    array(
        'header'=> Mage::helper('catalog')->__('Status'),
        'width' => '70px',
        'index' => 'status',
        'type'  => 'options',
        'options' => array('new'=>'待发货','sending'=>'发货中','complete'=>'完成')
));

 自定义一列的内容

protected function _prepareColumns() {
    $this->addColumn('address', array(
        'header' => '地址',
        'width' => '200',
        'index' => 'address',
        'renderer' => Test_Dispatching_Block_Adminhtml_Widget_Grid_Column_Renderer_Address
    ));
    return parent::_prepareColumns();
}

protected function _setFilterValues($data) { //自定义搜索
    foreach ($this->getColumns() as $columnId => $column) {
        if ($columnId == 'address' && isset($data[$columnId]) && strlen($data[$columnId]) > 0) {
            $fields = array('province' => 'province', 'city' => 'city', 'street' => 'street');
            $condition = array();
            $condition['province'] = array('like' => '%' . $data['address'] . '%');
            $condition['city'] = array('like' => '%' . $data['address'] . '%');
            $condition['street'] = array('like' => '%' . $data['address'] . '%');
            $this->getCollection()->addFieldToFilter($fields, $condition);
            $column->getFilter()->setValue($data[$columnId]);
            continue;
        }
        if (isset($data[$columnId]) && (!empty($data[$columnId]) || strlen($data[$columnId]) > 0) && $column->getFilter()) {
            $column->getFilter()->setValue($data[$columnId]);
            $this->_addColumnFilterToCollection($column);
        }
    }
    return $this;
}

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

<?php

class Test_Dispatching_Block_Adminhtml_Widget_Grid_Column_Renderer_Address extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{

    public function render(Varien_Object $row)
    {
        $text = $row['province'] . $row['city'] . $row['county'] .$row['street'];
        return $text;
    }
}

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

$this->addColumn('action', array(
    'header' => '操作',
    'width' => '50px',
    'type' => 'action',
    'getter' => 'getId', //action['field']的值
    'actions' => array(
        array(
            'caption' => '删除',
            'url' => array('base' => '*/*/delete', /*'params'=>array('type'=>1)*/), //其他参数
            'field' => 'order_id',
            'filter' => array('status' => 'new') //出现的条件
        )
    ),
    'filter' => false,
    'sortable' => false,
    'index' => 'stores',
    'is_system' => true,
    'renderer' => Test_Dispatching_Block_Adminhtml_Widget_Grid_Column_Renderer_Action
));

 

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

<?php

class Test_Dispatching_Block_Adminhtml_Widget_Grid_Column_Renderer_Action extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Action
{
    public function render(Varien_Object $row)
    { 
        $actions = $this->getColumn()->getActions();
        if ( empty($actions) || !is_array($actions) ) {
            return '&nbsp;';
        }

        $i = 0;
        foreach ($actions as $action){        	
            if ( is_array($action) ) {
            	if($this->_checkFiterAction($action, $row)) continue;
            	if($i>0){
                	$out .="&nbsp;|&nbsp;";
                }
                $out .= parent::_toLinkHtml($action, $row);
            }
            $i++;
        } 
        return $out;
    }
      
    protected function _checkFiterAction($action, Varien_Object $row){
    	$result = false;
        if(isset($action['filter']) && is_array($action['filter'])){
            foreach($action['filter'] as $key => $filter){
                if($row[$key] != $filter){
                    $result = true;
                } 
            }
        } 
        return $result;
    }
}

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

 

  • 大小: 78.5 KB
分享到:
评论

相关推荐

    Magento 添加后台管理

    在Magento中添加后台管理功能是开发者经常遇到的任务,这涉及到对系统后端界面的扩展和定制,以便更好地管理和控制商店的各项功能。以下是对“Magento添加后台管理”这一主题的详细讲解。 1. **理解Magento架构** ...

    Magento: 后台添加预览按钮 View product in frontend from Magento admin

    这篇博客“Magento:后台添加预览按钮 View product in frontend from Magento admin”主要探讨了如何通过自定义开发来实现这一功能,让管理员能够快速检查商品在网站前台的显示状态。 在Magento中,通常管理员需要...

    Magento 后台管理插件示例

    在后台管理插件中,你将创建一个或多个控制器来处理管理界面的交互,如添加、编辑、删除等操作。 4. **块(Block)**:块是用于渲染视图的类,它们处理数据并将其传递给模板文件。在后台管理插件中,你可能需要创建...

    magento 后台操作手册

    Magento 后台操作手册涵盖了 Magento 后台的基本操作、产品上传、分类管理、产品价格设置、图片上传、库存管理、商店设置、货币设置、首页基本信息修改等多个方面的内容,旨在帮助用户更好地使用 Magento 电子商务...

    magento1.7后台香港繁体中文汉化

    汉化包的核心目标是将Magento 1.7后台管理界面的所有英文文本翻译成繁体中文,以便香港地区的商家能够更流畅、更直观地理解和使用Magento的各项功能。这包括但不限于产品管理、订单处理、客户管理、营销活动设置、...

    Magento 自定义后台menu Insert dynamical menu in Magento’s Admin

    Magento是一款强大的开源电子商务平台,它的后台管理系统非常灵活且可扩展。在Magento的后台菜单中插入动态菜单是一项常见的自定义需求,这有助于商家根据自身业务需求定制管理界面。本篇文章将详细解析如何在...

    Magento创建管理列表和后台模块实例

    如果你正在创建一个Magento的管理模块(学习创造Magento管理模块),那么你一定会被要求创建一个管理列表既Grid。创建列表,Magento新手程序员有点困难,但在本教程中,我们将创建一个网格在管理模块中最简单的方式...

    magento自定义后台配置 示例

    magento的关于自定义后台配置的简单示例 把Exercise_Avatar.xml放到magento/app/etc/modules/下面 文件夹Avatar放到magento/app/code/local/Exercise/下面就可以到后台看到相应配置信息

    magento 订单管理直接数据

    标题提到的“magento 订单管理直接数据”意味着我们要探讨的是如何在Magento后台直接获取和操作订单的所有相关信息,而无需跳转到每个订单的单独详情页面。 在Magento的订单管理系统中,商家可以查看订单状态、客户...

    magento添加多表运费

    "magento添加多表运费"这个主题主要涉及如何在Magento系统中实现复杂的运费计算规则,允许商家根据不同的商品重量、数量或地区设置不同的运费价格。 首先,我们要理解Magento的运费计算模型。默认情况下,Magento...

    Magento网站后台使用文档[图解][收集].pdf

    在Magento后台,用户可以添加新产品,编辑现有产品,包括产品名称、描述、价格、库存信息、分类等。同时,也可以上传产品图片,确保商品信息的完整性和吸引力。在填写完所有必要信息后,用户需要点击“保存”按钮,...

    magento 后台订单显示图片插件

    在Magento的后台管理系统中,商家可以处理各种订单、管理产品、跟踪库存等。然而,原生的Magento系统并未提供在后台订单详情页面直接查看商品图片的功能。"magento 后台订单显示图片插件"就是为了弥补这个不足而设计...

    结合fusioncharts做magento后台按分类统计询盘及浏览量代码

    网上搜索上都找不到关于magento后台按分类统计询盘和浏览量程序,自己通过系统的实际情况结合fusioncharts编写magento后台按分类统计询盘及浏览量扩展,统计每年公司产品特定分类下的询盘和产品浏览量情况程序,希望...

    Magento 客户属性管理-企业版功能

    此插件可能也对Magento的后台管理界面进行了优化,使得添加和编辑客户属性更加直观和便捷。管理员可以轻松地创建新属性,设置属性的可见性(例如,是否显示在注册表单上),以及决定哪些属性是必填的。此外,还可以...

    magento电子商务后台+首页 php

    magento电子商务后台+首页magento电子商务后台+首页magento电子商务后台+首页magento电子商务后台+首页magento电子商务后台+首页magento电子商务后台+首页magento电子商务后台+首页magento电子商务后台+首页

    Magento 后台操作日志(Enterprise Logging)

    - 在Magento后台,管理员可以在特定的管理面板查看日志,根据日期、操作类型或管理员ID筛选日志条目。 - 为了保证系统的正常运行,定期检查和清理日志是必要的,避免日志文件过大影响网站性能。 - 如遇到日志显示...

    magento汉化包完全版

    2. **商品管理**:商家可以轻松地添加、编辑和管理商品信息,包括价格、库存、图片、描述等,还支持多种变体如颜色、尺寸等。 3. **购物车和结算**:Magento内置了先进的购物车和结算系统,支持多种支付方式如信用...

Global site tag (gtag.js) - Google Analytics