diff --git a/app/code/Magento/Email/Model/AbstractTemplate.php b/app/code/Magento/Email/Model/AbstractTemplate.php index 85c545e1c97dba1c4c051123c4d34e36c228f78f..308e3273ea6a468eb2107a8660d0e8e7bec1fc84 100644 --- a/app/code/Magento/Email/Model/AbstractTemplate.php +++ b/app/code/Magento/Email/Model/AbstractTemplate.php @@ -653,11 +653,9 @@ abstract class AbstractTemplate extends AbstractModel implements TemplateTypesIn { if (empty($this->templateFilter)) { $this->templateFilter = $this->getFilterFactory()->create(); - $this->templateFilter->setUseAbsoluteLinks( - $this->getUseAbsoluteLinks() - )->setStoreId( - $this->getDesignConfig()->getStore() - ); + $this->templateFilter->setUseAbsoluteLinks($this->getUseAbsoluteLinks()) + ->setStoreId($this->getDesignConfig()->getStore()) + ->setUrlModel($this->urlModel); } return $this->templateFilter; } diff --git a/app/code/Magento/Email/Model/Template/Filter.php b/app/code/Magento/Email/Model/Template/Filter.php index b6b722a8cff71227353111176a8fcf346628ec33..64946825a5cb1b7deffb139ef53571039cf507de 100644 --- a/app/code/Magento/Email/Model/Template/Filter.php +++ b/app/code/Magento/Email/Model/Template/Filter.php @@ -136,9 +136,9 @@ class Filter extends \Magento\Framework\Filter\Template protected $_appState; /** - * @var \Magento\Backend\Model\UrlInterface + * @var \Magento\Framework\UrlInterface */ - protected $backendUrlBuilder; + protected $urlModel; /** * @var \Pelago\Emogrifier @@ -156,7 +156,7 @@ class Filter extends \Magento\Framework\Filter\Template * @param \Magento\Framework\View\LayoutInterface $layout * @param \Magento\Framework\View\LayoutFactory $layoutFactory * @param \Magento\Framework\App\State $appState - * @param \Magento\Backend\Model\UrlInterface $backendUrlBuilder + * @param \Magento\Framework\UrlInterface $urlModel * @param \Pelago\Emogrifier $emogrifier * @param array $variables * @@ -173,7 +173,7 @@ class Filter extends \Magento\Framework\Filter\Template \Magento\Framework\View\LayoutInterface $layout, \Magento\Framework\View\LayoutFactory $layoutFactory, \Magento\Framework\App\State $appState, - \Magento\Backend\Model\UrlInterface $backendUrlBuilder, + \Magento\Framework\UrlInterface $urlModel, \Pelago\Emogrifier $emogrifier, $variables = [] ) { @@ -187,7 +187,7 @@ class Filter extends \Magento\Framework\Filter\Template $this->_layout = $layout; $this->_layoutFactory = $layoutFactory; $this->_appState = $appState; - $this->backendUrlBuilder = $backendUrlBuilder; + $this->urlModel = $urlModel; $this->emogrifier = $emogrifier; parent::__construct($string, $variables); } @@ -495,22 +495,19 @@ class Filter extends \Magento\Framework\Filter\Template unset($params['url']); } - return $this->getUrl($path, $params); + return $this->urlModel->getUrl($path, $params); } /** - * @param string $path - * @param array $params - * @return string + * Set current URL model, which will be used for URLs generation. + * + * @param \Magento\Framework\UrlInterface $urlModel + * @return $this */ - protected function getUrl($path, $params) + public function setUrlModel(\Magento\Framework\UrlInterface $urlModel) { - $isBackendStore = \Magento\Store\Model\Store::DEFAULT_STORE_ID === $this->getStoreId() - || \Magento\Store\Model\Store::ADMIN_CODE === $this->getStoreId(); - - return $isBackendStore - ? $this->backendUrlBuilder->getUrl($path, $params) - : $this->_storeManager->getStore($this->getStoreId())->getUrl($path, $params); + $this->urlModel = $urlModel; + return $this; } /** diff --git a/app/code/Magento/Widget/Model/Template/Filter.php b/app/code/Magento/Widget/Model/Template/Filter.php index e71e697f49742466dba8af2799006360a6694683..634ed2b9d6b5f2dfc503436364f6474e5e67fc7f 100755 --- a/app/code/Magento/Widget/Model/Template/Filter.php +++ b/app/code/Magento/Widget/Model/Template/Filter.php @@ -32,7 +32,7 @@ class Filter extends \Magento\Cms\Model\Template\Filter * @param \Magento\Framework\View\LayoutInterface $layout * @param \Magento\Framework\View\LayoutFactory $layoutFactory * @param \Magento\Framework\App\State $appState - * @param \Magento\Backend\Model\UrlInterface $backendUrlBuilder + * @param \Magento\Framework\UrlInterface $urlModel * @param \Pelago\Emogrifier $emogrifier * @param \Magento\Widget\Model\Resource\Widget $widgetResource * @param \Magento\Widget\Model\Widget $widget @@ -49,7 +49,7 @@ class Filter extends \Magento\Cms\Model\Template\Filter \Magento\Framework\View\LayoutInterface $layout, \Magento\Framework\View\LayoutFactory $layoutFactory, \Magento\Framework\App\State $appState, - \Magento\Backend\Model\UrlInterface $backendUrlBuilder, + \Magento\Framework\UrlInterface $urlModel, \Pelago\Emogrifier $emogrifier, \Magento\Widget\Model\Resource\Widget $widgetResource, \Magento\Widget\Model\Widget $widget @@ -67,7 +67,7 @@ class Filter extends \Magento\Cms\Model\Template\Filter $layout, $layoutFactory, $appState, - $backendUrlBuilder, + $urlModel, $emogrifier ); }