41 \
Magento\Newsletter\Model\TemplateFactory $templateFactory,
42 \
Magento\Newsletter\Model\SubscriberFactory $subscriberFactory,
45 $this->_templateFactory = $templateFactory;
46 $this->_subscriberFactory = $subscriberFactory;
47 parent::__construct($context,
$data);
58 $template = $this->_templateFactory->create();
63 $previewData = $this->getPreviewData();
65 $template->setTemplateType($previewData[
'type']);
66 $template->setTemplateText($previewData[
'text']);
67 $template->setTemplateStyles($previewData[
'styles']);
70 \Magento\Framework\Profiler::start($this->profilerName);
73 $vars[
'subscriber'] = $this->_subscriberFactory->create();
74 if ($this->
getRequest()->getParam(
'subscriber')) {
75 $vars[
'subscriber']->load($this->
getRequest()->getParam(
'subscriber'));
79 $templateProcessed = $this->_appState->emulateAreaCode(
80 \
Magento\Newsletter\Model\Template::DEFAULT_DESIGN_AREA,
87 $templateProcessed =
"<pre>" . htmlspecialchars($templateProcessed) .
"</pre>";
90 \Magento\Framework\Profiler::stop($this->profilerName);
92 return $templateProcessed;
100 private function getPreviewData()
103 $previewParams = [
'type',
'text',
'styles'];
106 if ($this->_backendSession->hasPreviewData()) {
107 $sessionData = $this->_backendSession->getPreviewData();
110 foreach ($previewParams as $param) {
111 if (isset($sessionData[$param])) {
112 $previewData[$param] = $sessionData[$param];
114 $previewData[$param] = $this->
getRequest()->getParam($param);
133 $defaultStore = $this->_storeManager->getDefaultStoreView();
134 if (!$defaultStore) {
135 $allStores = $this->_storeManager->getStores();
136 if (isset($allStores[0])) {
137 $defaultStore = $allStores[0];
141 return $defaultStore ? $defaultStore->getId() :
null;
__construct(\Magento\Backend\Block\Template\Context $context, \Magento\Newsletter\Model\TemplateFactory $templateFactory, \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory, array $data=[])
loadTemplate(\Magento\Newsletter\Model\Template $template, $id)