16 private $appEmulation;
27 parent::__construct($context);
28 $this->appEmulation = $appEmulation ?: ObjectManager::getInstance()
29 ->get(\
Magento\Store\Model\
App\Emulation::class);
41 $sitemap = $this->_objectManager->create(\
Magento\
Sitemap\Model\Sitemap::class);
45 if ($sitemap->getId()) {
48 $this->appEmulation->startEnvironmentEmulation(
49 $sitemap->getStoreId(),
53 $sitemap->generateXml();
55 $this->messageManager->addSuccessMessage(
56 __(
'The sitemap "%1" has been generated.', $sitemap->getSitemapFilename())
58 }
catch (\
Magento\Framework\Exception\LocalizedException $e) {
59 $this->messageManager->addErrorMessage($e->getMessage());
60 }
catch (\Exception $e) {
61 $this->messageManager->addExceptionMessage($e,
__(
'We can\'t generate the sitemap right now.'));
63 $this->appEmulation->stopEnvironmentEmulation();
66 $this->messageManager->addErrorMessage(
__(
'We can\'t find a sitemap to generate.'));
_redirect($path, $arguments=[])
__construct(Action\Context $context, Emulation $appEmulation=null)