Commit 5f2d4a02 by halweg

bug fix

parent 187e3e9b
<?php <?php
namespace Joshine\Review\Block; namespace Joshine\Review\Block;
use Joshine\Review\Model\ResourceModel\Images\Collection; use Joshine\Review\Model\ResourceModel\Images\Collection;
use Joshine\Review\Helper\ImageHelper; use Joshine\Review\Helper\ImageHelper;
use Magento\Framework\View\Element\Template; use Magento\Framework\View\Element\Template;
use Joshine\Review\Model\ResourceModel\Images\CollectionFactory; use Joshine\Review\Model\ResourceModel\Images\CollectionFactory;
/** /**
* Class Images * Class Images
* @package Amasty\AdvancedReview\Block * @package Amasty\AdvancedReview\Block
*/ */
class Images extends \Magento\Framework\View\Element\Template class Images extends \Magento\Framework\View\Element\Template
{ {
//评论缩略图宽度 //评论缩略图宽度
const REVIEW_COVER_WIDTH = 200; const REVIEW_COVER_WIDTH = 200;
/** /**
* @var string * @var string
*/ */
protected $_template = 'Joshine_Review::images.phtml'; protected $_template = 'Joshine_Review::images.phtml';
private $reviewId; private $reviewId;
private $productId; private $productId;
/** /**
* @var int * @var int
*/ */
/** /**
* @var \Magento\Framework\Json\EncoderInterface * @var \Magento\Framework\Json\EncoderInterface
*/ */
private $jsonEncoder; private $jsonEncoder;
/** /**
* @var CollectionFactory * @var CollectionFactory
*/ */
private $collectionFactory; private $collectionFactory;
/** /**
* @var ImageHelper * @var ImageHelper
*/ */
private $imageHelper; private $imageHelper;
public function __construct( public function __construct(
Template\Context $context, Template\Context $context,
CollectionFactory $collectionFactory, CollectionFactory $collectionFactory,
\Magento\Framework\Json\EncoderInterface $jsonEncoder, \Magento\Framework\Json\EncoderInterface $jsonEncoder,
ImageHelper $imageHelper, ImageHelper $imageHelper,
array $data = [] array $data = []
) { ) {
parent::__construct($context, $data); parent::__construct($context, $data);
$this->jsonEncoder = $jsonEncoder; $this->jsonEncoder = $jsonEncoder;
$this->collectionFactory = $collectionFactory; $this->collectionFactory = $collectionFactory;
$this->imageHelper = $imageHelper; $this->imageHelper = $imageHelper;
} }
/** /**
* @return int * @return int
*/ */
public function getReviewId(): int public function getReviewId()
{ {
return $this->reviewId; return $this->reviewId;
} }
/** /**
* @param $reviewId * @param $reviewId
* *
* @return $this * @return $this
*/ */
public function setReviewId($reviewId): Images public function setReviewId($reviewId)
{ {
$this->reviewId = $reviewId; $this->reviewId = $reviewId;
return $this; return $this;
} }
public function setProductId($productId): Images public function setProductId($productId)
{ {
$this->productId = $productId; $this->productId = $productId;
return $this; return $this;
} }
public function getProductId() public function getProductId()
{ {
return $this->productId; return $this->productId;
} }
public function getCollection() { public function getCollection() {
/** @var Collection $collection */ /** @var Collection $collection */
$collection = $this->collectionFactory->create() $collection = $this->collectionFactory->create()
->addFieldToSelect('*') ->addFieldToSelect('*')
->addFieldToFilter('review_id', $this->getReviewId()); ->addFieldToFilter('review_id', $this->getReviewId());
return $collection; return $collection;
} }
public function getFullImagePath($item): string public function getFullImagePath($item)
{ {
return $this->imageHelper->getFullPath($item->getPath()); return $this->imageHelper->getFullPath($item->getPath());
} }
/** /**
* @param $item * @param $item
* @return string * @return string
* @throws \Magento\Framework\Exception\NoSuchEntityException * @throws \Magento\Framework\Exception\NoSuchEntityException
*/ */
public function getResizedImagePath($item): string public function getResizedImagePath($item)
{ {
return $this->imageHelper->resize($item->getPath(), self::REVIEW_COVER_WIDTH); return $this->imageHelper->resize($item->getPath(), self::REVIEW_COVER_WIDTH);
} }
/** /**
* @param $item * @param $item
* @return string * @return string
* @throws \Magento\Framework\Exception\NoSuchEntityException * @throws \Magento\Framework\Exception\NoSuchEntityException
*/ */
public function getResizedImagePathByLimit($item, $width): string public function getResizedImagePathByLimit($item, $width)
{ {
return $this->imageHelper->resize($item->getPath(), $width); return $this->imageHelper->resize($item->getPath(), $width);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment