Preview.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\Newsletter\Controller\Adminhtml\Queue;
  8. class Preview extends \Magento\Newsletter\Controller\Adminhtml\Queue
  9. {
  10. /**
  11. * Preview Newsletter queue template
  12. *
  13. * @return void
  14. */
  15. public function execute()
  16. {
  17. $this->_view->loadLayout();
  18. $data = $this->getRequest()->getParams();
  19. $isEmptyRequestData = empty($data) || !isset($data['id']);
  20. $isEmptyPreviewData = !$this->_getSession()->hasPreviewData() || empty($this->_getSession()->getPreviewData());
  21. if ($isEmptyRequestData && $isEmptyPreviewData) {
  22. $this->_forward('noroute');
  23. return;
  24. }
  25. // set default value for selected store
  26. /** @var \Magento\Store\Model\StoreManager $storeManager */
  27. $storeManager = $this->_objectManager->get(\Magento\Store\Model\StoreManager::class);
  28. $defaultStore = $storeManager->getDefaultStoreView();
  29. if (!$defaultStore) {
  30. $allStores = $storeManager->getStores();
  31. if (isset($allStores[0])) {
  32. $defaultStore = $allStores[0];
  33. }
  34. }
  35. $data['preview_store_id'] = $defaultStore ? $defaultStore->getId() : null;
  36. $this->_view->getLayout()->getBlock('preview_form')->setFormData($data);
  37. $this->_view->renderLayout();
  38. }
  39. }