review file \Magento\Store\Model\Store.php
public function getBaseUrl($type = \Magento\Framework\UrlInterface::URL_TYPE_LINK, $secure = null) { $cacheKey = $type . '/' . ($secure === null ? 'null' : ($secure ? 'true' : 'false')); if (!isset($this->_baseUrlCache[$cacheKey])) { $secure = $secure === null ? $this->isCurrentlySecure() : (bool)$secure; switch ($type) { case \Magento\Framework\UrlInterface::URL_TYPE_WEB: $path = $secure ? self::XML_PATH_SECURE_BASE_URL : self::XML_PATH_UNSECURE_BASE_URL; $url = $this->getConfig($path); break; case \Magento\Framework\UrlInterface::URL_TYPE_LINK: $path = $secure ? self::XML_PATH_SECURE_BASE_LINK_URL : self::XML_PATH_UNSECURE_BASE_LINK_URL; $url = $this->getConfig($path); $url = $this->_updatePathUseRewrites($url); $url = $this->_updatePathUseStoreView($url); break; case \Magento\Framework\UrlInterface::URL_TYPE_DIRECT_LINK: $path = $secure ? self::XML_PATH_SECURE_BASE_LINK_URL : self::XML_PATH_UNSECURE_BASE_LINK_URL; $url = $this->getConfig($path); $url = $this->_updatePathUseRewrites($url); break; case \Magento\Framework\UrlInterface::URL_TYPE_STATIC: $path = $secure ? self::XML_PATH_SECURE_BASE_STATIC_URL : self::XML_PATH_UNSECURE_BASE_STATIC_URL; $url = $this->getConfig($path); if (!$url) { $url = $this->getBaseUrl( \Magento\Framework\UrlInterface::URL_TYPE_WEB, $secure ) . $this->filesystem->getUri( DirectoryList::STATIC_VIEW ); } break; case \Magento\Framework\UrlInterface::URL_TYPE_MEDIA: $url = $this->_getMediaScriptUrl($this->filesystem, $secure); if (!$url) { $path = $secure ? self::XML_PATH_SECURE_BASE_MEDIA_URL : self::XML_PATH_UNSECURE_BASE_MEDIA_URL; $url = $this->getConfig($path); if (!$url) { $url = $this->getBaseUrl( \Magento\Framework\UrlInterface::URL_TYPE_WEB, $secure ) . $this->filesystem->getUri( DirectoryList::MEDIA ); } } break; default: throw new \InvalidArgumentException('Invalid base url type'); } if (false !== strpos($url, self::BASE_URL_PLACEHOLDER)) { $distroBaseUrl = $this->_request->getDistroBaseUrl(); $url = str_replace(self::BASE_URL_PLACEHOLDER, $distroBaseUrl, $url); } $this->_baseUrlCache[$cacheKey] = rtrim($url, '/') . '/'; } return $this->_baseUrlCache[$cacheKey]; }
Nhận xét
Đăng nhận xét