ExportSearchExcel.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Search\Controller\Adminhtml\Term;
  7. use Magento\Search\Controller\Adminhtml\Term as TermController;
  8. use Magento\Backend\App\Action\Context;
  9. use Magento\Framework\App\Response\Http\FileFactory;
  10. use Magento\Framework\Controller\ResultFactory;
  11. use Magento\Framework\App\Filesystem\DirectoryList;
  12. class ExportSearchExcel extends TermController
  13. {
  14. /**
  15. * @var \Magento\Framework\App\Response\Http\FileFactory
  16. */
  17. protected $fileFactory;
  18. /**
  19. * @param \Magento\Backend\App\Action\Context $context
  20. * @param \Magento\Framework\App\Response\Http\FileFactory $fileFactory
  21. */
  22. public function __construct(
  23. Context $context,
  24. FileFactory $fileFactory
  25. ) {
  26. $this->fileFactory = $fileFactory;
  27. parent::__construct($context);
  28. }
  29. /**
  30. * Export search report to Excel XML format
  31. *
  32. * @return \Magento\Framework\App\ResponseInterface
  33. * @throws \Exception
  34. */
  35. public function execute()
  36. {
  37. /** @var \Magento\Framework\View\Result\Layout $resultLayout */
  38. $resultLayout = $this->resultFactory->create(ResultFactory::TYPE_LAYOUT);
  39. $content = $resultLayout->getLayout()->getChildBlock('adminhtml.report.search.grid', 'grid.export');
  40. return $this->fileFactory->create('search.xml', $content->getExcelFile(), DirectoryList::VAR_DIR);
  41. }
  42. }