Link.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Review\Block\Adminhtml\Rss\Grid;
  7. /**
  8. * Class Link
  9. * @api
  10. * @package Magento\Review\Block\Adminhtml\Grid\Rss
  11. * @since 100.0.2
  12. */
  13. class Link extends \Magento\Framework\View\Element\Template
  14. {
  15. /**
  16. * @var string
  17. */
  18. protected $_template = 'Magento_Review::rss/grid/link.phtml';
  19. /**
  20. * @var \Magento\Framework\App\Rss\UrlBuilderInterface
  21. */
  22. protected $rssUrlBuilder;
  23. /**
  24. * @param \Magento\Framework\View\Element\Template\Context $context
  25. * @param \Magento\Framework\App\Rss\UrlBuilderInterface $rssUrlBuilder
  26. * @param array $data
  27. */
  28. public function __construct(
  29. \Magento\Framework\View\Element\Template\Context $context,
  30. \Magento\Framework\App\Rss\UrlBuilderInterface $rssUrlBuilder,
  31. array $data = []
  32. ) {
  33. $this->rssUrlBuilder = $rssUrlBuilder;
  34. parent::__construct($context, $data);
  35. }
  36. /**
  37. * @inheritdoc
  38. */
  39. protected function _construct()
  40. {
  41. $this->setId('grid.rss.link');
  42. parent::_construct();
  43. }
  44. /**
  45. * @return string
  46. */
  47. public function getLink()
  48. {
  49. return $this->rssUrlBuilder->getUrl($this->getLinkParams());
  50. }
  51. /**
  52. * @return \Magento\Framework\Phrase
  53. */
  54. public function getLabel()
  55. {
  56. return __('Pending Reviews RSS');
  57. }
  58. /**
  59. * Check whether status notification is allowed
  60. *
  61. * @return bool
  62. */
  63. public function isRssAllowed()
  64. {
  65. return true;
  66. }
  67. /**
  68. * @return string
  69. */
  70. protected function getLinkParams()
  71. {
  72. return ['type' => 'review'];
  73. }
  74. }