rssUrlBuilder = $rssUrlBuilder; $this->rssModel = $rssModel; parent::__construct($context, $data); } /** * @inheritdoc */ protected function _construct() { $this->setCacheKey('rss_catalog_notifystock'); parent::_construct(); } /** * @inheritdoc */ public function getRssData() { $newUrl = $this->rssUrlBuilder->getUrl(['_secure' => true, '_nosecret' => true, 'type' => 'notifystock']); $title = __('Low Stock Products')->render(); $data = ['title' => $title, 'description' => $title, 'link' => $newUrl, 'charset' => 'UTF-8']; foreach ($this->rssModel->getProductsCollection() as $item) { /* @var $item \Magento\Catalog\Model\Product */ $url = $this->getUrl( 'catalog/product/edit', ['id' => $item->getId(), '_secure' => true, '_nosecret' => true] ); $qty = 1 * $item->getQty(); $description = __('%1 has reached a quantity of %2.', $item->getName(), $qty)->render(); $data['entries'][] = ['title' => $item->getName(), 'link' => $url, 'description' => $description]; } return $data; } /** * @inheritdoc */ public function getCacheLifetime() { return 600; } /** * @inheritdoc */ public function isAllowed() { return true; } /** * @inheritdoc */ public function getFeeds() { return []; } /** * @inheritdoc */ public function isAuthRequired() { return true; } }