*/ class Mage_Adminhtml_Block_Customer_Edit_Tab_View_Cart extends Mage_Adminhtml_Block_Widget_Grid { public function __construct() { parent::__construct(); $this->setId('customer_view_cart_grid'); $this->setDefaultSort('added_at', 'desc'); $this->setSortable(false); $this->setPagerVisibility(false); $this->setFilterVisibility(false); $this->setEmptyText(Mage::helper('customer')->__('There are no items in customer\'s shopping cart at the moment')); } protected function _prepareCollection() { $quote = Mage::getModel('sales/quote'); // set website to quote, if any if ($this->getWebsiteId()) { $quote->setWebsite(Mage::app()->getWebsite($this->getWebsiteId())); } $quote->loadByCustomer(Mage::registry('current_customer')); if ($quote) { $collection = $quote->getItemsCollection(false); } else { $collection = new Varien_Data_Collection(); } $collection->addFieldToFilter('parent_item_id', array('null' => true)); $this->setCollection($collection); return parent::_prepareCollection(); } protected function _prepareColumns() { $this->addColumn('product_id', array( 'header' => Mage::helper('customer')->__('Product ID'), 'index' => 'product_id', 'width' => '100px', )); $this->addColumn('name', array( 'header' => Mage::helper('customer')->__('Product Name'), 'index' => 'name', )); $this->addColumn('sku', array( 'header' => Mage::helper('customer')->__('SKU'), 'index' => 'sku', 'width' => '100px', )); $this->addColumn('qty', array( 'header' => Mage::helper('customer')->__('Qty'), 'index' => 'qty', 'type' => 'number', 'width' => '60px', )); $this->addColumn('price', array( 'header' => Mage::helper('customer')->__('Price'), 'index' => 'price', 'type' => 'currency', 'currency_code' => (string) Mage::getStoreConfig(Mage_Directory_Model_Currency::XML_PATH_CURRENCY_BASE), )); $this->addColumn('total', array( 'header' => Mage::helper('customer')->__('Total'), 'index' => 'row_total', 'type' => 'currency', 'currency_code' => (string) Mage::getStoreConfig(Mage_Directory_Model_Currency::XML_PATH_CURRENCY_BASE), )); return parent::_prepareColumns(); } public function getRowUrl($row) { return $this->getUrl('*/catalog_product/edit', array('id' => $row->getProductId())); } public function getHeadersVisibility() { return ($this->getCollection()->getSize() > 0); } }