Rss.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Review\Model;
  7. /**
  8. * Class Rss
  9. * @package Magento\Catalog\Model\Rss\Product
  10. */
  11. class Rss extends \Magento\Framework\Model\AbstractModel
  12. {
  13. /**
  14. * @var \Magento\Review\Model\ReviewFactory
  15. */
  16. protected $reviewFactory;
  17. /**
  18. * Application Event Dispatcher
  19. *
  20. * @var \Magento\Framework\Event\ManagerInterface
  21. */
  22. protected $eventManager;
  23. /**
  24. * @param \Magento\Framework\Event\ManagerInterface $eventManager
  25. * @param ReviewFactory $reviewFactory
  26. */
  27. public function __construct(
  28. \Magento\Framework\Event\ManagerInterface $eventManager,
  29. \Magento\Review\Model\ReviewFactory $reviewFactory
  30. ) {
  31. $this->reviewFactory = $reviewFactory;
  32. $this->eventManager = $eventManager;
  33. }
  34. /**
  35. * @return $this|\Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection
  36. */
  37. public function getProductCollection()
  38. {
  39. /** @var $reviewModel \Magento\Review\Model\Review */
  40. $reviewModel = $this->reviewFactory->create();
  41. $collection = $reviewModel->getProductCollection()
  42. ->addStatusFilter($reviewModel->getPendingStatus())
  43. ->addAttributeToSelect('name', 'inner')
  44. ->setDateOrder();
  45. $this->eventManager->dispatch('rss_catalog_review_collection_select', ['collection' => $collection]);
  46. return $collection;
  47. }
  48. }