Magento

Die aktuelle Zeile in einem Grid verlinken

Obwohl es sich um eine sehr schöne und nützlich Funktion handelt, gibt es zur Zeit kaum eine gute Dokumentation zu den Grid Funktionen im Magento Admin Bereich. Um zu erfahren wie man es anstellt, dass die aktuelle Zeile eines Grid's gehighlightet und verlinkt wird muss man dann eben einen Blick in den Quellcode derr Magento Cores werfen. Hier das Ergebnis.

Es muss in der Grid Klasse eine Methode mit dem Namen getRowUrl( $row ) definiert werden, die eine Url zurückgibt. Hier meine Implementierung:

  1.  
  2. class Mein_Modul_Block_Adminhtml_Mein_Modul_Grid
  3. extends Mage_Adminhtml_Block_Widget_Grid
  4. {
  5.  
  6. public function __construct()
  7. {
  8. parent::__construct();
  9. }
  10.  
  11. protected function _prepareColumns(){
  12. $this->addColumn(
  13. 'entity_id', array(
  14. 'header' => Mage::helper('meinmodul')->__('ID'),
  15. 'index' => 'entity_id',
  16. 'width' => 30
  17. )
  18. );
  19.  
  20. parent::_prepareColumns();
  21. return $this;
  22. }
  23.  
  24. /**
  25.   * Hier findet sich die Magie
  26.   */
  27. public function getRowUrl($row)
  28. {
  29. return $this->getUrl('*/*/meineaction', array(
  30. 'store'=> $this->getRequest()
  31. ->getParam('store'),
  32. 'id'=>$row->getId())
  33. );
  34. }
  35. }
  36.