Example #1
0
 /**
  * Prepare collection for grid
  *
  * @return \Magento\Backend\Block\Widget\Grid
  */
 protected function _prepareCollection()
 {
     if ($this->getRequest()->getParam('queue', false)) {
         $this->getCollection()->useQueue($this->_queueFactory->create()->load($this->getRequest()->getParam('queue')));
     }
     return parent::_prepareCollection();
 }
Example #2
0
 /**
  * Get html code
  *
  * @return string
  */
 protected function _toHtml()
 {
     /* @var $template \Magento\Newsletter\Model\Template */
     $template = $this->_templateFactory->create();
     if ($id = (int) $this->getRequest()->getParam('id')) {
         $queue = $this->_queueFactory->create()->load($id);
         $template->setTemplateType($queue->getNewsletterType());
         $template->setTemplateText($queue->getNewsletterText());
         $template->setTemplateStyles($queue->getNewsletterStyles());
     } else {
         $template->setTemplateType($this->getRequest()->getParam('type'));
         $template->setTemplateText($this->getRequest()->getParam('text'));
         $template->setTemplateStyles($this->getRequest()->getParam('styles'));
     }
     $storeId = (int) $this->getRequest()->getParam('store_id');
     if (!$storeId) {
         $storeId = $this->_storeManager->getDefaultStoreView()->getId();
     }
     \Magento\Framework\Profiler::start("newsletter_queue_proccessing");
     $vars = array();
     $vars['subscriber'] = $this->_subscriberFactory->create();
     $template->emulateDesign($storeId);
     $templateProcessed = $this->_appState->emulateAreaCode(\Magento\Newsletter\Model\Template::DEFAULT_DESIGN_AREA, array($template, 'getProcessedTemplate'), array($vars, true));
     $template->revertDesign();
     if ($template->isPlain()) {
         $templateProcessed = "<pre>" . htmlspecialchars($templateProcessed) . "</pre>";
     }
     \Magento\Framework\Profiler::stop("newsletter_queue_proccessing");
     return $templateProcessed;
 }
Example #3
0
 /**
  * @param \Magento\Newsletter\Model\Template $template
  * @param string $id
  * @return $this
  */
 protected function loadTemplate(\Magento\Newsletter\Model\Template $template, $id)
 {
     /** @var \Magento\Newsletter\Model\Queue $queue */
     $queue = $this->_queueFactory->create()->load($id);
     $template->setTemplateType($queue->getNewsletterType());
     $template->setTemplateText($queue->getNewsletterText());
     $template->setTemplateStyles($queue->getNewsletterStyles());
     return $this;
 }
Example #4
0
 /**
  * Retrieve queue object
  *
  * @return \Magento\Newsletter\Model\Queue
  */
 protected function getQueue()
 {
     $queue = $this->_coreRegistry->registry('current_queue');
     if (!$queue) {
         $queue = $this->_queueFactory->create();
     }
     return $queue;
 }