Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Data Fields | Protected Member Functions | Protected Attributes
Review Class Reference
Inheritance diagram for Review:
AbstractModel IdentityInterface DataObject

Public Member Functions

 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Review\Model\ResourceModel\Review\Product\CollectionFactory $productFactory, \Magento\Review\Model\ResourceModel\Review\Status\CollectionFactory $statusFactory, \Magento\Review\Model\ResourceModel\Review\Summary\CollectionFactory $summaryFactory, \Magento\Review\Model\Review\SummaryFactory $summaryModFactory, \Magento\Review\Model\Review\Summary $reviewSummary, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\UrlInterface $urlModel, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
 
 getProductCollection ()
 
 getStatusCollection ()
 
 getTotalReviews ($entityPkValue, $approvedOnly=false, $storeId=0)
 
 aggregate ()
 
 getEntitySummary ($product, $storeId=0)
 
 getPendingStatus ()
 
 getReviewUrl ()
 
 getProductUrl ($productId, $storeId)
 
 validate ()
 
 afterDeleteCommit ()
 
 appendSummary ($collection)
 
 isApproved ()
 
 isAvailableOnStore ($store=null)
 
 getEntityIdByCode ($entityCode)
 
 getIdentities ()
 
- Public Member Functions inherited from AbstractModel
 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
 
 __sleep ()
 
 __wakeup ()
 
 setIdFieldName ($name)
 
 getIdFieldName ()
 
 getId ()
 
 setId ($value)
 
 isDeleted ($isDeleted=null)
 
 hasDataChanges ()
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 setDataChanges ($value)
 
 getOrigData ($key=null)
 
 setOrigData ($key=null, $data=null)
 
 dataHasChangedFor ($field)
 
 getResourceName ()
 
 getResourceCollection ()
 
 getCollection ()
 
 load ($modelId, $field=null)
 
 beforeLoad ($identifier, $field=null)
 
 afterLoad ()
 
 isSaveAllowed ()
 
 setHasDataChanges ($flag)
 
 save ()
 
 afterCommitCallback ()
 
 isObjectNew ($flag=null)
 
 beforeSave ()
 
 validateBeforeSave ()
 
 getCacheTags ()
 
 cleanModelCache ()
 
 afterSave ()
 
 delete ()
 
 beforeDelete ()
 
 afterDelete ()
 
 afterDeleteCommit ()
 
 getResource ()
 
 getEntityId ()
 
 setEntityId ($entityId)
 
 clearInstance ()
 
 getStoredData ()
 
 getEventPrefix ()
 
- Public Member Functions inherited from DataObject
 __construct (array $data=[])
 
 addData (array $arr)
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 getData ($key='', $index=null)
 
 getDataByPath ($path)
 
 getDataByKey ($key)
 
 setDataUsingMethod ($key, $args=[])
 
 getDataUsingMethod ($key, $args=null)
 
 hasData ($key='')
 
 toArray (array $keys=[])
 
 convertToArray (array $keys=[])
 
 toXml (array $keys=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 convertToXml (array $arrAttributes=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 toJson (array $keys=[])
 
 convertToJson (array $keys=[])
 
 toString ($format='')
 
 __call ($method, $args)
 
 isEmpty ()
 
 serialize ($keys=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
 
 debug ($data=null, &$objects=[])
 
 offsetSet ($offset, $value)
 
 offsetExists ($offset)
 
 offsetUnset ($offset)
 
 offsetGet ($offset)
 

Data Fields

const CACHE_TAG = 'review_block'
 
const ENTITY_PRODUCT_CODE = 'product'
 
const ENTITY_CUSTOMER_CODE = 'customer'
 
const ENTITY_CATEGORY_CODE = 'category'
 
const STATUS_APPROVED = 1
 
const STATUS_PENDING = 2
 
const STATUS_NOT_APPROVED = 3
 

Protected Member Functions

 _construct ()
 
- Protected Member Functions inherited from AbstractModel
 _construct ()
 
 _init ($resourceModel)
 
 _setResourceModel ($resourceName, $collectionName=null)
 
 _getResource ()
 
 _getEventData ()
 
 _beforeLoad ($modelId, $field=null)
 
 _afterLoad ()
 
 _hasModelChanged ()
 
 _getValidatorBeforeSave ()
 
 _createValidatorBeforeSave ()
 
 _getValidationRulesBeforeSave ()
 
 _clearReferences ()
 
 _clearData ()
 
- Protected Member Functions inherited from DataObject
 _getData ($key)
 
 _underscore ($name)
 

Protected Attributes

 $_eventPrefix = 'review'
 
 $productCollectionFactory
 
 $_statusFactory
 
 $_summaryFactory
 
 $_summaryModFactory
 
 $_reviewSummary
 
 $_storeManager
 
 $_urlModel
 
- Protected Attributes inherited from AbstractModel
 $_eventPrefix = 'core_abstract'
 
 $_eventObject = 'object'
 
 $_idFieldName = 'id'
 
 $_hasDataChanges = false
 
 $_origData
 
 $_isDeleted = false
 
 $_resource
 
 $_resourceCollection
 
 $_resourceName
 
 $_collectionName
 
 $_cacheTag = false
 
 $_dataSaveAllowed = true
 
 $_isObjectNew = null
 
 $_validatorBeforeSave = null
 
 $_eventManager
 
 $_cacheManager
 
 $_registry
 
 $_logger
 
 $_appState
 
 $_actionValidator
 
 $storedData = []
 
- Protected Attributes inherited from DataObject
 $_data = []
 

Additional Inherited Members

- Static Protected Attributes inherited from DataObject
static $_underscoreCache = []
 

Detailed Description

Review model

@api @method string getCreatedAt() @method \Magento\Review\Model\Review setCreatedAt(string $value) @method \Magento\Review\Model\Review setEntityId(int $value) @method int getEntityPkValue() @method \Magento\Review\Model\Review setEntityPkValue(int $value) @method int getStatusId() @method \Magento\Review\Model\Review setStatusId(int $value) @SuppressWarnings(PHPMD.CouplingBetweenObjects)

Since
100.0.2

Definition at line 27 of file Review.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\Framework\Model\Context  $context,
\Magento\Framework\Registry  $registry,
\Magento\Review\Model\ResourceModel\Review\Product\CollectionFactory  $productFactory,
\Magento\Review\Model\ResourceModel\Review\Status\CollectionFactory  $statusFactory,
\Magento\Review\Model\ResourceModel\Review\Summary\CollectionFactory  $summaryFactory,
\Magento\Review\Model\Review\SummaryFactory  $summaryModFactory,
\Magento\Review\Model\Review\Summary  $reviewSummary,
\Magento\Store\Model\StoreManagerInterface  $storeManager,
\Magento\Framework\UrlInterface  $urlModel,
\Magento\Framework\Model\ResourceModel\AbstractResource  $resource = null,
\Magento\Framework\Data\Collection\AbstractDb  $resourceCollection = null,
array  $data = [] 
)
Parameters
\Magento\Framework\Model\Context$context
\Magento\Framework\Registry$registry
\Magento\Review\Model\ResourceModel\Review\Product\CollectionFactory$productFactory
\Magento\Review\Model\ResourceModel\Review\Status\CollectionFactory$statusFactory
\Magento\Review\Model\ResourceModel\Review\Summary\CollectionFactory$summaryFactory
\Magento\Review\Model\Review\SummaryFactory$summaryModFactory
\Magento\Review\Model\Review\Summary$reviewSummary
\Magento\Store\Model\StoreManagerInterface$storeManager
\Magento\Framework\UrlInterface$urlModel
\Magento\Framework\Model\ResourceModel\AbstractResource$resource
\Magento\Framework\Data\Collection\AbstractDb$resourceCollection
array$data@SuppressWarnings(PHPMD.ExcessiveParameterList)

Definition at line 135 of file Review.php.

148  {
149  $this->productCollectionFactory = $productFactory;
150  $this->_statusFactory = $statusFactory;
151  $this->_summaryFactory = $summaryFactory;
152  $this->_summaryModFactory = $summaryModFactory;
153  $this->_reviewSummary = $reviewSummary;
154  $this->_storeManager = $storeManager;
155  $this->_urlModel = $urlModel;
156  parent::__construct($context, $registry, $resource, $resourceCollection, $data);
157  }
$storeManager
$resource
Definition: bulk.php:12

Member Function Documentation

◆ _construct()

_construct ( )
protected

Initialization

Returns
void

Definition at line 164 of file Review.php.

165  {
166  $this->_init(\Magento\Review\Model\ResourceModel\Review::class);
167  }

◆ afterDeleteCommit()

afterDeleteCommit ( )

Perform actions after object delete

Returns
\Magento\Framework\Model\AbstractModel

Definition at line 296 of file Review.php.

297  {
298  $this->getResource()->afterDeleteCommit($this);
299  return parent::afterDeleteCommit();
300  }

◆ aggregate()

aggregate ( )

Aggregate reviews

Returns
$this

Definition at line 207 of file Review.php.

208  {
209  $this->getResource()->aggregate($this);
210  return $this;
211  }

◆ appendSummary()

appendSummary (   $collection)

Append review summary to product collection

Parameters
ProductCollection$collection
Returns
$this

Definition at line 308 of file Review.php.

309  {
310  $entityIds = [];
311  foreach ($collection->getItems() as $item) {
312  $entityIds[] = $item->getEntityId();
313  }
314 
315  if (sizeof($entityIds) == 0) {
316  return $this;
317  }
318 
319  $summaryData = $this->_summaryFactory->create()
320  ->addEntityFilter($entityIds)
321  ->addStoreFilter($this->_storeManager->getStore()->getId())
322  ->load();
323 
324  foreach ($collection->getItems() as $item) {
325  foreach ($summaryData as $summary) {
326  if ($summary->getEntityPkValue() == $item->getEntityId()) {
327  $item->setRatingSummary($summary);
328  }
329  }
330  }
331 
332  return $this;
333  }

◆ getEntityIdByCode()

getEntityIdByCode (   $entityCode)

Get review entity type id by code

Parameters
string$entityCode
Returns
int|bool

Definition at line 366 of file Review.php.

367  {
368  return $this->getResource()->getEntityIdByCode($entityCode);
369  }

◆ getEntitySummary()

getEntitySummary (   $product,
  $storeId = 0 
)

Get entity summary

Parameters
Product$product
int$storeId
Returns
void

Definition at line 220 of file Review.php.

221  {
222  $summaryData = $this->_summaryModFactory->create()->setStoreId($storeId)->load($product->getId());
223  $summary = new \Magento\Framework\DataObject();
224  $summary->setData($summaryData->getData());
225  $product->setRatingSummary($summary);
226  }

◆ getIdentities()

getIdentities ( )

Return unique ID(s) for each object in system

Returns
array

Implements IdentityInterface.

Definition at line 376 of file Review.php.

377  {
378  $tags = [];
379  if ($this->getEntityPkValue()) {
380  $tags[] = Product::CACHE_TAG . '_' . $this->getEntityPkValue();
381  }
382  return $tags;
383  }

◆ getPendingStatus()

getPendingStatus ( )

Get pending status

Returns
int

Definition at line 233 of file Review.php.

234  {
235  return self::STATUS_PENDING;
236  }

◆ getProductCollection()

getProductCollection ( )

Get product collection

Returns
ProductCollection

Definition at line 174 of file Review.php.

175  {
176  return $this->productCollectionFactory->create();
177  }

◆ getProductUrl()

getProductUrl (   $productId,
  $storeId 
)

Get product view url

Parameters
string | int$productId
string | int$storeId
Returns
string

Definition at line 255 of file Review.php.

256  {
257  if ($storeId) {
258  $this->_urlModel->setScope($storeId);
259  }
260 
261  return $this->_urlModel->getUrl('catalog/product/view', ['id' => $productId]);
262  }

◆ getReviewUrl()

getReviewUrl ( )

Get review product view url

Returns
string

Definition at line 243 of file Review.php.

244  {
245  return $this->_urlModel->getUrl('review/product/view', ['id' => $this->getReviewId()]);
246  }

◆ getStatusCollection()

getStatusCollection ( )

Get status collection

Returns
StatusCollection

Definition at line 184 of file Review.php.

185  {
186  return $this->_statusFactory->create();
187  }

◆ getTotalReviews()

getTotalReviews (   $entityPkValue,
  $approvedOnly = false,
  $storeId = 0 
)

Get total reviews

Parameters
int$entityPkValue
bool$approvedOnly
int$storeId
Returns
int

Definition at line 197 of file Review.php.

198  {
199  return $this->getResource()->getTotalReviews($entityPkValue, $approvedOnly, $storeId);
200  }

◆ isApproved()

isApproved ( )

Check if current review approved or not

Returns
bool

Definition at line 340 of file Review.php.

341  {
342  return $this->getStatusId() == self::STATUS_APPROVED;
343  }

◆ isAvailableOnStore()

isAvailableOnStore (   $store = null)

Check if current review available on passed store

Parameters
int | \Magento\Store\Model\Store$store
Returns
bool

Definition at line 351 of file Review.php.

352  {
353  $store = $this->_storeManager->getStore($store);
354  if ($store) {
355  return in_array($store->getId(), (array) $this->getStores());
356  }
357  return false;
358  }

◆ validate()

validate ( )

Validate review summary fields

Returns
bool|string[]

Definition at line 269 of file Review.php.

270  {
271  $errors = [];
272 
273  if (!\Zend_Validate::is($this->getTitle(), 'NotEmpty')) {
274  $errors[] = __('Please enter a review summary.');
275  }
276 
277  if (!\Zend_Validate::is($this->getNickname(), 'NotEmpty')) {
278  $errors[] = __('Please enter a nickname.');
279  }
280 
281  if (!\Zend_Validate::is($this->getDetail(), 'NotEmpty')) {
282  $errors[] = __('Please enter a review.');
283  }
284 
285  if (empty($errors)) {
286  return true;
287  }
288  return $errors;
289  }
__()
Definition: __.php:13
static is($value, $classBaseName, array $args=array(), $namespaces=array())
Definition: Validate.php:195
$errors
Definition: overview.phtml:9

Field Documentation

◆ $_eventPrefix

$_eventPrefix = 'review'
protected

Definition at line 34 of file Review.php.

◆ $_reviewSummary

$_reviewSummary
protected

Definition at line 104 of file Review.php.

◆ $_statusFactory

$_statusFactory
protected

Definition at line 83 of file Review.php.

◆ $_storeManager

$_storeManager
protected

Definition at line 111 of file Review.php.

◆ $_summaryFactory

$_summaryFactory
protected

Definition at line 90 of file Review.php.

◆ $_summaryModFactory

$_summaryModFactory
protected

Definition at line 97 of file Review.php.

◆ $_urlModel

$_urlModel
protected

Definition at line 118 of file Review.php.

◆ $productCollectionFactory

$productCollectionFactory
protected

Definition at line 76 of file Review.php.

◆ CACHE_TAG

const CACHE_TAG = 'review_block'

Cache tag

Definition at line 39 of file Review.php.

◆ ENTITY_CATEGORY_CODE

const ENTITY_CATEGORY_CODE = 'category'

Category entity review code

Definition at line 54 of file Review.php.

◆ ENTITY_CUSTOMER_CODE

const ENTITY_CUSTOMER_CODE = 'customer'

Customer entity review code

Definition at line 49 of file Review.php.

◆ ENTITY_PRODUCT_CODE

const ENTITY_PRODUCT_CODE = 'product'

Product entity review code

Definition at line 44 of file Review.php.

◆ STATUS_APPROVED

const STATUS_APPROVED = 1

Approved review status code

Definition at line 59 of file Review.php.

◆ STATUS_NOT_APPROVED

const STATUS_NOT_APPROVED = 3

Not Approved review status code

Definition at line 69 of file Review.php.

◆ STATUS_PENDING

const STATUS_PENDING = 2

Pending review status code

Definition at line 64 of file Review.php.


The documentation for this class was generated from the following file: