*/ class Mage_Adminhtml_Block_Sales_Order_Create_Sidebar_Reorder extends Mage_Adminhtml_Block_Sales_Order_Create_Sidebar_Abstract { /** * Storage action on selected item * * @var string */ protected $_sidebarStorageAction = 'add_order_item'; protected function _construct() { parent::_construct(); $this->setId('sales_order_create_sidebar_reorder'); $this->setDataId('reorder'); } public function getHeaderText() { return Mage::helper('sales')->__('Last Ordered Items'); } /** * Retrieve last order on current website * * @return Mage_Sales_Model_Order|false */ public function getLastOrder() { $storeIds = $this->getQuote()->getStore()->getWebsite()->getStoreIds(); $collection = Mage::getResourceModel('sales/order_collection') ->addFieldToFilter('customer_id', $this->getCustomerId()) ->addFieldToFilter('store_id', array('in' => $storeIds)) ->setOrder('created_at', 'desc') ->setPageSize(1) ->load(); foreach ($collection as $order) { return $order; } return false; } /** * Retrieve item collection * * @return mixed */ public function getItemCollection() { if ($order = $this->getLastOrder()) { $items = array(); foreach ($order->getItemsCollection() as $item) { if (!$item->getParentItem()) { $items[] = $item; } } return $items; } return false; } public function canDisplayItemQty() { return false; } public function canRemoveItems() { return false; } public function canDisplayPrice() { return false; } /** * Retrieve identifier of block item * * @param Varien_Object $item * @return int */ public function getIdentifierId($item) { return $item->getId(); } }