![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-review/Block/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Review\Block; /** * Review detailed view block * * @api * @author Magento Core Team <[email protected]> * @since 100.0.2 */ class View extends \Magento\Catalog\Block\Product\AbstractProduct { /** * View template name * * @var string */ protected $_template = 'Magento_Review::view.phtml'; /** * Rating option model * * @var \Magento\Review\Model\Rating\Option\VoteFactory */ protected $_voteFactory; /** * Rating model factory * * @var \Magento\Review\Model\RatingFactory */ protected $_ratingFactory; /** * Review model * * @var \Magento\Review\Model\ReviewFactory */ protected $_reviewFactory; /** * @param \Magento\Catalog\Block\Product\Context $context * @param \Magento\Review\Model\Rating\Option\VoteFactory $voteFactory * @param \Magento\Review\Model\RatingFactory $ratingFactory * @param \Magento\Review\Model\ReviewFactory $reviewFactory * @param array $data */ public function __construct( \Magento\Catalog\Block\Product\Context $context, \Magento\Review\Model\Rating\Option\VoteFactory $voteFactory, \Magento\Review\Model\RatingFactory $ratingFactory, \Magento\Review\Model\ReviewFactory $reviewFactory, array $data = [] ) { $this->_voteFactory = $voteFactory; $this->_reviewFactory = $reviewFactory; $this->_ratingFactory = $ratingFactory; parent::__construct( $context, $data ); } /** * Retrieve current product model from registry * * @return \Magento\Catalog\Model\Product */ public function getProductData() { return $this->_coreRegistry->registry('current_product'); } /** * Retrieve current review model from registry * * @return \Magento\Review\Model\Review */ public function getReviewData() { return $this->_coreRegistry->registry('current_review'); } /** * Prepare link to review list for current product * * @return string */ public function getBackUrl() { return $this->getUrl('*/*/list', ['id' => $this->getProductData()->getId()]); } /** * Retrieve collection of ratings * * @return \Magento\Review\Model\ResourceModel\Rating\Option\Vote\Collection */ public function getRating() { $reviewId = $this->getReviewId() ?: $this->getReviewData()->getId(); if (!$this->getRatingCollection()) { $ratingCollection = $this->_voteFactory->create()->getResourceCollection()->setReviewFilter( $reviewId )->setStoreFilter( $this->_storeManager->getStore()->getId() )->addRatingInfo( $this->_storeManager->getStore()->getId() )->load(); $this->setRatingCollection($ratingCollection->getSize() ? $ratingCollection : false); } return $this->getRatingCollection(); } /** * Retrieve rating summary for current product * * @deprecated 100.3.3 * @return string */ public function getRatingSummary() { if (!$this->getRatingSummaryCache()) { $this->setRatingSummaryCache( $this->_ratingFactory->create()->getEntitySummary($this->getProductData()->getId()) ); } return $this->getRatingSummaryCache(); } /** * Retrieve total review count for current product * * @return string */ public function getTotalReviews() { if (!$this->getTotalReviewsCache()) { $this->setTotalReviewsCache( $this->_reviewFactory->create()->getTotalReviews( $this->getProductData()->getId(), false, $this->_storeManager->getStore()->getId() ) ); } return $this->getTotalReviewsCache(); } /** * Format date in long format * * @param string $date * @return string */ public function dateFormat($date) { return $this->formatDate($date, \IntlDateFormatter::LONG); } }