_votesFactory = $votesFactory; $this->_ratingFactory = $ratingFactory; $this->_coreRegistry = $registry; parent::__construct($context, $data); } /** * Initialize review data * * @return void */ protected function _construct() { if ($this->_coreRegistry->registry('review_data')) { $this->setReviewId($this->_coreRegistry->registry('review_data')->getId()); } } /** * Get collection of ratings * * @return RatingCollection */ public function getRating() { if (!$this->getRatingCollection()) { $ratingCollection = $this->_votesFactory->create()->setReviewFilter( $this->getReviewId() )->addRatingInfo()->load(); $this->setRatingCollection($ratingCollection->getSize() ? $ratingCollection : false); } return $this->getRatingCollection(); } /** * Get rating summary * * @return string */ public function getRatingSummary() { if (!$this->getRatingSummaryCache()) { $this->setRatingSummaryCache($this->_ratingFactory->create()->getReviewSummary($this->getReviewId())); } return $this->getRatingSummaryCache(); } }