Ich hatte die _prepareCollection () -Methode von Mage_Adminhtml_Block_Customer_Grid überschrieben und die folgenden Zeilen hinzugefügt
->addAttributeToSelect('cus_city')
->addAttributeToSelect('cus_country')
->addAttributeToSelect('cus_state')
zu:
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();
}
und fügen Sie diese 3 Spalten _prepareColumns()
wie folgt hinzu
$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,
));
Das Problem ist, dass diese 3 Spalten nicht mit den Daten gefüllt werden, wenn sie sich im Überschreibungsmodul befinden, und wenn ich denselben Code im Kern hinzufüge, werden diese 3 Spalten mit den Werten gefüllt
magento-1.9
adminhtml
collection
grid
customer-grid
Pradeep Sanku
quelle
quelle