Pour rajouter l’ip dans une colonne de la liste des commandes, nous allons utiliser un Renderer.
Très pratique pour afficher ce que l’on veut dans le grid (Sales, Customer…)
Commencez par créer le fichier Mage_Adminhtml_Block_Sales_Order_Renderer_Salesip,
Voici son contenu :
<?php class Mage_Adminhtml_Block_Sales_Order_Renderer_Salesip extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract { public function render(Varien_Object $row) { $order = mage::getModel('sales/order')->load($row->getid()); $retour = "<a href='http://geomaplookup.net/?ip=".$order->getRemoteIp()."' target='_blank'>".$order->getRemoteIp()."</a>"; return $retour; } }
Puis rajouter dans le fichier Mage_Adminhtml_Block_Sales_Order_Grid, dans la fonction function _prepareColumns()
$this->addColumn('remote_ip', array( 'header' => Mage::helper('sales')->__('IP'), 'index' => 'remote_ip', 'renderer' => 'Mage_Adminhtml_Block_Sales_Order_Renderer_Salesip', ));
Une nouvelle colonne s’affiche sur la liste des commandes.
Bien sûr, ceci est un exemple, il vaut mieux créer une surcharge et ne pas toucher au Core
.
