পর্যবেক্ষক ব্যবহার করে বা গ্রাহক গ্রিডকে ওভাররাইড করে গ্রাহক গ্রিডে কলাম যুক্ত করা


28

আমি গ্রাহক গ্রিডে একটি কলাম যুক্ত করার এবং সেই কলামটিতে মানগুলি দেখানোর সমস্যার মুখোমুখি।

এখানে যে পর্যবেক্ষক কোডটি আমি কলামটি দেখানোর চেষ্টা করেছি:

if ($block->getType() == 'adminhtml/customer_grid') {
          $customer = $observer->getCustomer();
          $collection = Mage::getResourceModel('customer/customer_collection');
        $block->addColumnAfter('mobile', array(
                'header'    => 'Mobile No.',
                'type'      => 'text',
                'index'     => 'mobile',
            ), 'email');
        }   

এটি কলাম যুক্ত করে তবে এর অধীনে কোনও মান দেখানো হয় না।


কোন ইভেন্টে আপনি এটি করছেন? সম্ভবত গ্রিড সংগ্রহে মোবাইল কলাম নেই এবং আপনার এই কলামটি সংগ্রহের সাথে যুক্ত করতে হবে। $block->getCollection()
এটিতে

@ জাফিরিন আমি কীভাবে এটি করতে পারি ?? পর্যবেক্ষক ব্যবহার করে কীভাবে আমি সংগ্রহে মোবাইল কলাম যুক্ত করতে পারি?
কুলদীপ

1
@ কুলদীপ দ্বিতীয় উত্তরটি কোডের নকল এড়ানোর কারণে এটি আরও ভাল। আপনি এটি গ্রহণ করতে চাইতে পারেন।
অ্যালেক্স

উত্তর:


25

গ্রাহক গ্রিডে একটি কলাম যুক্ত করতে আপনাকে ব্লকের 2 টি জিনিস ওভাররাইড করতে হবে Mage_Adminhtml_Block_Customer_Grid

  • _prepareCollection - সংগ্রহে আপনার বৈশিষ্ট্য যুক্ত করতে
  • _prepareColumns - আপনার গ্রিডে কলাম যুক্ত করতে।

এর জন্য আপনার একটি নতুন এক্সটেনশন তৈরি করা উচিত। এটি কল করুন Easylife_Customer। এর জন্য আপনার নিম্নলিখিত ফাইলগুলির প্রয়োজন হবে:
app/etc/module/Easylife_Customer.xml- ডিকোলেশন ফাইল

<?xml version="1.0"?>
<config>
    <modules>
        <Easylife_Customer>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Customer /><!-- your module should depend on Mage_Customer -->
                <Mage_Adminhtml /><!-- your module should depend on Mage_Adminhtml also -->
            </depends>
        </Easylife_Customer>
    </modules>
</config>

app/code/local/Easylife/Customer/etc/config.xml - কনফিগারেশন ফাইল

<?xml version="1.0"?>
<config>
    <modules>
        <Easylife_Customer>
            <version>0.0.1</version>
        </Easylife_Customer>
    </modules>
    <global>
        <blocks>
            <adminhtml>
                <rewrite>
                    <customer_grid>Easylife_Customer_Block_Adminhtml_Customer_Grid</customer_grid><!-- rewrite the customer grid -->
                </rewrite>
            </adminhtml>
        </blocks>
    </global>
</config>

app/code/local/Easylife/Customer/Block/Adminhtml/Customer/Grid.php- গ্রাহক গ্রিডের নিজস্ব সংস্করণ। কোডে আমার মন্তব্য পড়ুন:

<?php
class Easylife_Customer_Block_Adminhtml_Customer_Grid extends Mage_Adminhtml_Block_Customer_Grid{
    /**
     * override the _prepareCollection to add an other attribute to the grid
     * @return $this
     */
    protected function _prepareCollection(){
        $collection = Mage::getResourceModel('customer/customer_collection')
            ->addNameToSelect()
            ->addAttributeToSelect('email')
            ->addAttributeToSelect('created_at')
            ->addAttributeToSelect('group_id')
            //if the attribute belongs to the customer, use the line below
            ->addAttributeToSelect('mobile')
            //if the attribute belongs to the customer address, comment the line above and use the one below
            //->joinAttribute('mobile', 'customer_address/mobile', 'default_billing', null, 'left')
            ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left')
            ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left')
            ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left')
            ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left')
            ->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left');

        $this->setCollection($collection);
        //code from Mage_Adminhtml_Block_Widget_Grid::_prepareCollection()
        //since calling parent::_prepareCollection will render the code above useless
        //and you cannot call in php parent::parent::_prepareCollection()
        if ($this->getCollection()) {

            $this->_preparePage();

            $columnId = $this->getParam($this->getVarNameSort(), $this->_defaultSort);
            $dir      = $this->getParam($this->getVarNameDir(), $this->_defaultDir);
            $filter   = $this->getParam($this->getVarNameFilter(), null);

            if (is_null($filter)) {
                $filter = $this->_defaultFilter;
            }

            if (is_string($filter)) {
                $data = $this->helper('adminhtml')->prepareFilterString($filter);
                $this->_setFilterValues($data);
            }
            else if ($filter && is_array($filter)) {
                $this->_setFilterValues($filter);
            }
            else if(0 !== sizeof($this->_defaultFilter)) {
                $this->_setFilterValues($this->_defaultFilter);
            }

            if (isset($this->_columns[$columnId]) && $this->_columns[$columnId]->getIndex()) {
                $dir = (strtolower($dir)=='desc') ? 'desc' : 'asc';
                $this->_columns[$columnId]->setDir($dir);
                $this->_setCollectionOrder($this->_columns[$columnId]);
            }

            if (!$this->_isExport) {
                $this->getCollection()->load();
                $this->_afterLoadCollection();
            }
        }

        return $this;
    }

    /**
     * override the _prepareColumns method to add a new column after the 'email' column
     * if you want the new column on a different position just change the 3rd parameter
     * of the addColumnAfter method to the id of your desired column
     */
    protected function _prepareColumns(){
        $this->addColumnAfter('mobile', array(
            'header'    => Mage::helper('customer')->__('Mobile'),
            'index'     => 'mobile'
        ),'email');
        return parent::_prepareColumns();
    }
}

ক্যাশে সাফ করুন এবং আপনার প্রস্তুত হওয়া উচিত।


থ্যাঙ্কস ম্যান আপনি রক..এমন মোহন এর মতো কাজ করেছেন: ডি .. অনেক অনেক ধন্যবাদ।
কুলদীপ

আমি এই উত্তরে যেমনটি পেয়েছি , আপনি Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
কোনও দাদার

এটি দাদার পিতামহের মেথকে ডাকছে না। আপনি অ্যাট্যাটিক হিসাবে একটি স্থিতিশীল পদ্ধতি কল করছেন। এটা ঠিক নেই।
মারিয়াস

39

পর্যবেক্ষকদের উপায়:

আপনার কনফিগার.এক্সএমএল ফাইলে 2 জন পর্যবেক্ষককে ঘোষণা করুন: একটি আপনার কলামটি গ্রিড ব্লকে যুক্ত করতে এবং অন্যটি সম্পর্কিত বৈশিষ্ট্য থেকে ডেটা লোড করার জন্য:

<adminhtml>
    <events>
        <core_block_abstract_to_html_before>
            <observers>
                <{observer_name}>
                    <type>singleton</type>
                    <class>{namespace}_{module}/observer</class>
                    <method>beforeBlockToHtml</method>
                </{observer_name}>
            </observers>
        </core_block_abstract_to_html_before>
        <eav_collection_abstract_load_before>
            <observers>
                <{observer_name}>
                    <class>{namespace}_{module}/observer</class>
                    <method>beforeCollectionLoad</method>
                </{observer_name}>
            </observers>
        </eav_collection_abstract_load_before>
    </events>
</adminhtml>

উপযুক্ত পদ্ধতি সহ একটি পর্যবেক্ষক শ্রেণি তৈরি করুন:

class {Namespace}_{Module}_Model_Observer
{
    public function beforeBlockToHtml(Varien_Event_Observer $observer)
    {
        $grid = $observer->getBlock();

        /**
         * Mage_Adminhtml_Block_Customer_Grid
         */
        if ($grid instanceof Mage_Adminhtml_Block_Customer_Grid) {
            $grid->addColumnAfter(
                '{column_code}',
                array(
                    'header' => Mage::helper('{Module}_customer')->__('{{column_name}}'),
                    'index'  => '{column_code}'
                ),
                'entity_id'
            );
        }
    }

    public function beforeCollectionLoad(Varien_Event_Observer $observer)
    {
        $collection = $observer->getCollection();
        if (!isset($collection)) {
            return;
        }

        /**
         * Mage_Customer_Model_Resource_Customer_Collection
         */
        if ($collection instanceof Mage_Customer_Model_Resource_Customer_Collection) {
            /* @var $collection Mage_Customer_Model_Resource_Customer_Collection */
            $collection->addAttributeToSelect('{attribute_code}');
        }
    }
}

1
অবশ্যই সেরা বিকল্প। কোনও পুনর্লিখন নেই
সিলভাইন রায়

দুর্ভাগ্যক্রমে এটি CSV রফতানির জন্য কাজ করে না - কলামটি এখানে নেই।
অ্যালেক্স 13

পণ্য গ্রিড পৃষ্ঠার জন্য এটি কেমন হবে?
frostshoxx

পুনর্লিখন পর্যবেক্ষকের চেয়ে অনেক ভাল
hkguile

আমি কেবল ইভেন্টটি ম্যাজ_এডমিনটিচটিএমএল_ব্লক_বিজেট_গ্রিড :: ম্যাজ_এডমিনহিটটিএমএল_ব্লক_বিজেট_গ্রিড () যা আরও বিশেষীকৃত তা ব্যবহার করার জন্য পুনরায় সুপারিশ করব।
ক্রিস্টোফ ফেরেবুয়েফ

9

আমি অ্যালেক্সের মন্তব্যে জবাব দিয়েছি:

সিএসভিতে রফতানি করতেও ব্যবহার করুন

core_block_abstract_prepare_layout_before

পরিবর্তে

core_block_abstract_to_html_before

4

Assuming যে $blockএকটি দৃষ্টান্ত হল Mage_Adminhtml_Block_Customer_Gridতারপর

$block->getCollection()গ্রিডে ব্যবহৃত গ্রাহক সংগ্রহটি ফিরিয়ে দেওয়া উচিত যা এর উদাহরণ Mage_Customer_Model_Resource_Customer_Collection। আপনি কোডটির দিকে তাকালে Mage_Adminhtml_Block_Customer_Grid::_prepareCollection()আপনি দেখতে পাবেন যে কীভাবে আপনি এই সংগ্রহে কোনও বৈশিষ্ট্য যুক্ত করতে পারেন।

এটি হওয়া উচিত (যদিও এটি পরীক্ষা না করা)

ধরে নিচ্ছি গ্রাহক সত্তায় একটি বৈশিষ্ট্যযুক্ত মোবাইল যুক্ত রয়েছে

$block->getCollection()
      ->addAttributeToSelect('mobile');

বা যদি মোবাইলটি হয় এবং বিলিং ঠিকানা সত্তায় অ্যাট্রিবিউট যুক্ত হয়

$block->getCollection()
      ->joinAttriubte('mobile','customer_address/mobile','defaul_billing',null,'left');

হ্যালো @ জাফিরিন, আপনি যে কোডগুলি প্রেরণ করেছেন সেগুলির দুটিই আমি চেষ্টা করেছিলাম তবে সেগুলির কোনওটিই কাজ করছে না
কুলদীপ

আপনি এই পর্যবেক্ষকটি কোন ইভেন্টে চালাচ্ছেন তা আমাকে বলুন
জেফিরিন

এটি একটি ভাল পদ্ধতির তবে গ্রিড রফতানি করার সময় কেবল কাজ করে। এই ঘটনা কারণ শেষে Mage_Adminhtml_Block_Widget_Grid::_prepareCollectionবলা হয়: $this->getCollection()->load()। এর অর্থ এই যে সংগ্রহটিতে অন্য কোনও পরিবর্তন এড়ানো হবে। তবে, যেমনটি আমি বলেছিলাম, গ্রিড রফতানির জন্য এটি একটি খুব ভাল পদ্ধতি। রফতানি করার সময় loadপদ্ধতিটি পরে বলা হয় না।
মারিয়াস


2

অন্য উপায়:

আপনার কাস্টম মডিউল সহ গ্রাহক গ্রিড ব্লকে পুনরায় লিখুন এবং setCollection()আপনার কাস্টম বৈশিষ্ট্য আনতে ফাংশনটি ব্যবহার করুন ।

অ্যাপ্লিকেশন / কোড / [স্থানীয় বা সম্প্রদায়] / আপনার কম্পিউটার / আপনার মডেল /etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <yourcompany_yourmodule>
            <version>0.1.0</version>
        </yourcompany_yourmodule>
    </modules>
    <global>
        <blocks>
            <adminhtml>
                <rewrite>
                    <customer_grid>YourCompany_YourModule_Block_Customer_Grid</customer_grid>
                </rewrite>
            </adminhtml>
        </blocks>
    </global>
</config>

অ্যাপ্লিকেশন / কোড / [স্থানীয় বা সম্প্রদায়] / আপনার কম্পিউটার

<?php

class YourCompany_YourModule_Block_Customer_Grid extends Mage_Adminhtml_Block_Customer_Grid
{
    public function setCollection($collection)
    {
        // your field/attribute to fetch, assuming it to be 'mobile'
        $collection->addAttributeToSelect('mobile'); 
        parent::setCollection($collection);
    }

    protected function _prepareColumns()
    {
        parent::_prepareColumns();

        $this->addColumn('mobile', array(
                'header'=> Mage::helper('customer')->__('Mobile'),
                'index' => 'mobile',
                'type'  => 'text',
                'width' => '100px',
        ));

        // show your new column named 'mobile' after ZIP column
        $this->addColumnsOrder('mobile', 'billing_postcode');

        return parent::_prepareColumns();
    }
}

1
আপনার কোডের জন্য ধন্যবাদ। এখন আমরা কীভাবে গ্রাহক গ্রিডে এই বৈশিষ্ট্যটি প্রদর্শন করতে আদেশ দেব?
প্রিন্স প্যাটেল

আপনি addColumnsOrderফাংশন ব্যবহার করে কলামকে অর্ডার দিতে পারেন । দয়া করে আপডেট করা উত্তরটি পরীক্ষা করুন।
মুকেশ চাঁপাগেইন

আমি $ এটি-> অ্যাড কলামআফটার () ব্যবহার করেছি তবে $ এটি-> অ্যাডকলামগুলি অর্ডার () আপনার জবাবের জন্য ধন্যবাদও কাজ করছি।
প্রিন্স প্যাটেল

এই প্রোগ্রামটিতে ব্যবহারের setCollection () আসলে সবচেয়ে ভালো সমাধান (আমি মত সব loadcollection ইভেন্টে পর্যবেক্ষক যুক্ত করতে না, না শোনাচ্ছে খুব কর্মক্ষমতা ভিত্তিক ...) হয়
Fra

0

আমার কিছু ডিফল্ট কলামগুলি সরানো এবং গ্রাহক গ্রিডে অতিরিক্ত কলাম যুক্ত করা দরকার। আমি কলামগুলি কনফিগারযোগ্য করার সিদ্ধান্ত নিয়েছি। প্রথমে আমি system.xml এ 2 টি মাল্টিসিলেট বাক্স যুক্ত করেছি :

<config>
    <sections>
        <extendedcustomer translate="label" module="extendedcustomer">
            <label>Extended Customer</label>
            <tab>customer</tab>
            <sort_order>100</sort_order>
            <show_in_default>1</show_in_default>
            <show_in_website>1</show_in_website>
            <show_in_store>1</show_in_store>
            <groups>
                <manage_grid translate="label">
                    <label>Manage Customer Grid in Backend</label>
                    <frontend_type>text</frontend_type>
                    <sort_order>10</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>1</show_in_store>
                    <fields>
                        <remove translate="label">
                            <label>Remove Columns</label>
                            <frontend_type>multiselect</frontend_type>
                            <source_model>extendedcustomer/source_gridColumn</source_model>
                            <sort_order>10</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                        </remove>
                        <add translate="label">
                            <label>Add Columns</label>
                            <frontend_type>multiselect</frontend_type>
                            <source_model>extendedcustomer/source_attributeCode</source_model>
                            <sort_order>20</sort_order>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                        </add>                       
                    </fields>
                </manage_grid>
            </groups>
        </extendedcustomer>
    </sections>
</config>

উত্স মডেলগুলি সরাসরি এগিয়ে রয়েছে:

class SomeCo_ExtendedCustomer_Model_Source_GridColumn
{
    public function toOptionArray()
    {     
        return [
            ['value' => 'name', 'label' => 'Name'],
            ['value' => 'email', 'label' => 'Email'],
            ['value' => 'group', 'label' => 'Group'],
            ['value' => 'billing_telephone', 'label' => 'Telephone'],
            ['value' => 'billing_postcode', 'label' => 'ZIP'],
            ['value' => 'billing_country_id', 'label' => 'Country'],
            ['value' => 'billing_region', 'label' => 'State/Province'],
            ['value' => 'customer_since', 'label' => 'Customer Since'],
            ['value' => 'website_id', 'label' => 'Website'],
            ['value' => 'action', 'label' => 'Action']
        ];
    }
}

দ্বিতীয় উত্স মডেল

class SomeCo_ExtendedCustomer_Model_Source_AttributeCode
{
    public function toOptionArray()
    {     
        $collection = Mage::getResourceModel('customer/attribute_collection')
            ->addFieldToSelect(['attribute_code', 'frontend_label'])
            ->addFieldToFilter('frontend_label', ['notnull'=>'notnull'])
            ->addFieldToFilter('is_user_defined', 1);
        $options = [];
        foreach ($collection as $item) {
            $options[] = [
                'value'     => $item->getData('attribute_code'),
                'label'     => $item->getData('frontend_label')
            ];
        }
        return $options;
    }
}

তারপরে গ্রিড শ্রেণিকে ওভাররাইড করুন:

class SomeCo_ExtendedCustomer_Block_Adminhtml_Customer_Grid extends Mage_Adminhtml_Block_Customer_Grid
{
    public function __construct()
    {
        parent::__construct();
        if ($remove = Mage::getStoreConfig('extendedcustomer/manage_grid/remove')) {
            $remove = explode(',', $remove);
        } else {
            $remove = false;
        }
        $this->setRemoveList($remove);

        if ($add = Mage::getStoreConfig('extendedcustomer/manage_grid/add')) {
            $add = explode(',', $add);
        } else {
            $add = false;
        }
        $this->setAddList($add);
    }

    protected function _prepareCollection()
    {
        if ($remove = $this->getRemoveList()) {
            $collection = Mage::getResourceModel('customer/customer_collection');
            if (!in_array('name', $remove)) {
                $collection->addNameToSelect();
            }
            foreach (['postcode', 'city', 'telephone', 'region', 'country_id'] as $suffix) {
                if (!in_array('billing_'.$suffix, $remove)) {
                    $collection->joinAttribute('billing_'.$suffix, 'customer_address/'.$suffix, 'default_billing', null, 'left');
                }
            }
        } else {
            $collection = Mage::getResourceModel('customer/customer_collection')
                ->addNameToSelect()
                //->addAttributeToSelect('email') // static attributes are added by default
                //->addAttributeToSelect('created_at')
                //->addAttributeToSelect('group_id')
                ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left')
                ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left')
                ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left')
                ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left')
                ->joinAttribute('billing_country_id', 'customer_address/country_id', 'default_billing', null, 'left');
        }

        if ($add = $this->getAddList()) {
            $collection->addAttributeToSelect($add);
        }

        $this->setCollection($collection);

        return Mage_Adminhtml_Block_Widget_Grid::_prepareCollection(); // call grandParent
    }

    protected function _prepareColumns()
    {
        $this->addColumn('entity_id', array(
            'header'    => Mage::helper('customer')->__('ID'),
            'width'     => '50px',
            'index'     => 'entity_id',
            'type'  => 'number',
        ));

        $remove = $this->getRemoveList();

        if (!$remove || !in_array('name', $remove)) {           
            $this->addColumn('name', array(
                'header'    => Mage::helper('customer')->__('Name'),
                'index'     => 'name'
            ));
        }

        if ($add = $this->getAddList()) {
            $collection = Mage::getResourceModel('customer/attribute_collection')
                ->addFieldToSelect(['attribute_code', 'frontend_label', 'source_model'])
                ->addFieldToFilter('attribute_code', ['in' => $add]);
            foreach ($collection as $item) {
                if ($source = $item->getSourceModel()) {
                    $this->addColumn($item->getAttributeCode(), array(
                        'header'    =>  $item->getFrontendLabel(),
                        'width'     =>  '100',
                        'index'     =>  $item->getAttributeCode(),
                        'type'      =>  'options',
                        'options'   =>  Mage::getSingleton($source)->toOptionHash(false)
                    ));
                } else {
                    $this->addColumn($item->getAttributeCode(), array(
                        'header'    => $item->getFrontendLabel(),
                        'width'     => '150',
                        'index'     => $item->getAttributeCode()
                    ));
                }
            }
        }

        if (!$remove || !in_array('email', $remove)) {            
            $this->addColumn('email', array(
                'header'    => Mage::helper('customer')->__('Email'),
                'width'     => '150',
                'index'     => 'email'
            ));
        }

        if (!$remove || !in_array('group', $remove)) {
            $groups = Mage::getResourceModel('customer/group_collection')
                ->addFieldToFilter('customer_group_id', array('gt'=> 0))
                ->load()
                ->toOptionHash();

            $this->addColumn('group', array(
                'header'    =>  Mage::helper('customer')->__('Group'),
                'width'     =>  '100',
                'index'     =>  'group_id',
                'type'      =>  'options',
                'options'   =>  $groups,
            ));
        }

        if (!$remove || !in_array('billing_telephone', $remove)) {
            $this->addColumn('Telephone', array(
                'header'    => Mage::helper('customer')->__('Telephone'),
                'width'     => '100',
                'index'     => 'billing_telephone'
            ));
        }

        if (!$remove || !in_array('billing_postcode', $remove)) {
            $this->addColumn('billing_postcode', array(
                'header'    => Mage::helper('customer')->__('ZIP'),
                'width'     => '90',
                'index'     => 'billing_postcode',
            ));
        }

        if (!$remove || !in_array('billing_country_id', $remove)) {
            $this->addColumn('billing_country_id', array(
                'header'    => Mage::helper('customer')->__('Country'),
                'width'     => '100',
                'type'      => 'country',
                'index'     => 'billing_country_id',
            ));
        }

        if (!$remove || !in_array('billing_region', $remove)) {
            $this->addColumn('billing_region', array(
                'header'    => Mage::helper('customer')->__('State/Province'),
                'width'     => '100',
                'index'     => 'billing_region',
            ));
        }

        if (!$remove || !in_array('customer_since', $remove)) {
            $this->addColumn('customer_since', array(
                'header'    => Mage::helper('customer')->__('Customer Since'),
                'type'      => 'datetime',
                'align'     => 'center',
                'index'     => 'created_at',
                'gmtoffset' => true
            ));
        }

        if (!$remove || !in_array('website_id', $remove)) {
            if (!Mage::app()->isSingleStoreMode()) {
                $this->addColumn('website_id', array(
                    'header'    => Mage::helper('customer')->__('Website'),
                    'align'     => 'center',
                    'width'     => '80px',
                    'type'      => 'options',
                    'options'   => Mage::getSingleton('adminhtml/system_store')->getWebsiteOptionHash(true),
                    'index'     => 'website_id',
                ));
            }
        }

        if (!$remove || !in_array('action', $remove)) {
            $this->addColumn('action',
                array(
                    'header'    =>  Mage::helper('customer')->__('Action'),
                    'width'     => '100',
                    'type'      => 'action',
                    'getter'    => 'getId',
                    'actions'   => array(
                        array(
                            'caption'   => Mage::helper('customer')->__('Edit'),
                            'url'       => array('base'=> '*/*/edit'),
                            'field'     => 'id'
                        )
                    ),
                    'filter'    => false,
                    'sortable'  => false,
                    'index'     => 'stores',
                    'is_system' => true,
            ));
        }

        $this->addExportType('*/*/exportCsv', Mage::helper('customer')->__('CSV'));
        $this->addExportType('*/*/exportXml', Mage::helper('customer')->__('Excel XML'));
        return Mage_Adminhtml_Block_Widget_Grid::_prepareColumns();
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.