J'ai remplacé la méthode _prepareCollection () de Mage_Adminhtml_Block_Customer_Grid et ajouté les lignes suivantes
->addAttributeToSelect('cus_city')
->addAttributeToSelect('cus_country')
->addAttributeToSelect('cus_state')
à:
protected function _prepareCollection()
{
$collection = Mage::getResourceModel('customer/customer_collection')
->addNameToSelect()
->addAttributeToSelect('email')
->addAttributeToSelect('created_at')
->addAttributeToSelect('group_id')
->addAttributeToSelect('cus_city') // added
->addAttributeToSelect('cus_country') // added
->addAttributeToSelect('cus_state') // added
->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);
return parent::_prepareCollection();
}
et ajoutez ces 3 colonnes _prepareColumns()
comme suit
$this->addColumn('cus_city', array(
'header' => Mage::helper('customer')->__('City'),
'width' => '100',
'index' => 'cus_city'
));
$this->addColumn('cus_country', array(
'header' => Mage::helper('customer')->__('Country'),
'width' => '100',
'index' => 'cus_country'
));
$data_array=array();
$statearray = Mage::getModel('directory/region')->getResourceCollection() ->addCountryFilter('IN')->load()->toOptionArray();
foreach($statearray as $states){
$data_array[$states['value']] = $states['label'];
}
$this->addColumn('cus_state', array(
'header' => Mage::helper('customer')->__('State'),
'width' => '100',
'type' => 'options',
'index' => 'cus_state',
'options' => $data_array,
));
Le problème est que ces 3 colonnes ne remplissent pas les données lorsqu'elles sont dans le module surchargé et si j'ajoute le même code dans le noyau, ces 3 colonnes remplissent les valeurs
magento-1.9
adminhtml
collection
grid
customer-grid
Pradeep Sanku
la source
la source