/** * 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(); }
/** * 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; }
/** * @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; }
/** * 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; }