Grid.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /**
  7. * Newsletter subscribers grid block
  8. *
  9. * @author Magento Core Team <core@magentocommerce.com>
  10. */
  11. namespace Magento\Newsletter\Block\Adminhtml\Subscriber;
  12. /**
  13. * @api
  14. * @since 100.0.2
  15. */
  16. class Grid extends \Magento\Backend\Block\Widget\Grid
  17. {
  18. /**
  19. * @var \Magento\Newsletter\Model\QueueFactory
  20. */
  21. protected $_queueFactory;
  22. /**
  23. * @param \Magento\Backend\Block\Template\Context $context
  24. * @param \Magento\Backend\Helper\Data $backendHelper
  25. * @param \Magento\Newsletter\Model\QueueFactory $queueFactory
  26. * @param array $data
  27. */
  28. public function __construct(
  29. \Magento\Backend\Block\Template\Context $context,
  30. \Magento\Backend\Helper\Data $backendHelper,
  31. \Magento\Newsletter\Model\QueueFactory $queueFactory,
  32. array $data = []
  33. ) {
  34. $this->_queueFactory = $queueFactory;
  35. parent::__construct($context, $backendHelper, $data);
  36. }
  37. /**
  38. * Prepare collection for grid
  39. *
  40. * @return \Magento\Backend\Block\Widget\Grid
  41. */
  42. protected function _prepareCollection()
  43. {
  44. if ($this->getRequest()->getParam('queue', false)) {
  45. $this->getCollection()->useQueue(
  46. $this->_queueFactory->create()->load($this->getRequest()->getParam('queue'))
  47. );
  48. }
  49. return parent::_prepareCollection();
  50. }
  51. }