Ho ignorato il metodo _prepareCollection () di Mage_Adminhtml_Block_Customer_Grid e ho aggiunto le seguenti righe
->addAttributeToSelect('cus_city')
->addAttributeToSelect('cus_country')
->addAttributeToSelect('cus_state')
per:
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();
}
e aggiungi queste 3 colonne nel modo _prepareColumns()
seguente
$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,
));
Il problema è che queste 3 colonne non si popolano con i dati quando si trovano nel modulo di sostituzione e se aggiungo lo stesso codice nel core, queste 3 colonne si popolano con i valori