*/ class Mage_Review_Block_Customer_List extends Mage_Customer_Block_Account_Dashboard { /** * Product reviews collection * * @var Mage_Review_Model_Resource_Review_Product_Collection */ protected $_collection; /** * Initializes collection */ protected function _construct() { $this->_collection = Mage::getModel('review/review')->getProductCollection(); $this->_collection ->addStoreFilter(Mage::app()->getStore()->getId()) ->addCustomerFilter(Mage::getSingleton('customer/session')->getCustomerId()) ->setDateOrder(); } /** * Gets collection items count * * @return int */ public function count() { return $this->_collection->getSize(); } /** * Get html code for toolbar * * @return string */ public function getToolbarHtml() { return $this->getChildHtml('toolbar'); } /** * Initializes toolbar * * @return Mage_Core_Block_Abstract */ protected function _prepareLayout() { $toolbar = $this->getLayout()->createBlock('page/html_pager', 'customer_review_list.toolbar') ->setCollection($this->getCollection()); $this->setChild('toolbar', $toolbar); return parent::_prepareLayout(); } /** * Get collection * * @return Mage_Review_Model_Resource_Review_Product_Collection */ protected function _getCollection() { return $this->_collection; } /** * Get collection * * @return Mage_Review_Model_Resource_Review_Product_Collection */ public function getCollection() { return $this->_getCollection(); } /** * Get review link * * @return string */ public function getReviewLink() { return Mage::getUrl('review/customer/view/'); } /** * Get product link * * @return string */ public function getProductLink() { return Mage::getUrl('catalog/product/view/'); } /** * Format date in short format * * @param $date * @return string */ public function dateFormat($date) { return $this->formatDate($date, Mage_Core_Model_Locale::FORMAT_TYPE_SHORT); } /** * @return Mage_Core_Block_Abstract */ protected function _beforeToHtml() { $this->_getCollection() ->load() ->addReviewSummary(); return parent::_beforeToHtml(); } }