46 $this->_data = $this->_extractData($configContent);
56 return $this->urnResolver->getRealPath(
'urn:magento:framework:Config/etc/theme.xsd');
66 protected function _extractData($configContent)
74 if (!empty($configContent)) {
75 $dom = new \DOMDocument();
76 $dom->loadXML($configContent);
79 $themeNode = $dom->getElementsByTagName(
'theme')->item(0);
80 $themeTitleNode = $themeNode->getElementsByTagName(
'title')->item(0);
81 $data[
'title'] = $themeTitleNode ? $themeTitleNode->nodeValue :
null;
83 $mediaNode = $themeNode->getElementsByTagName(
'media')->item(0);
84 $previewImage = $mediaNode ? $mediaNode->getElementsByTagName(
'preview_image')->item(0)->nodeValue :
'';
85 $data[
'media'][
'preview_image'] = $previewImage;
86 $themeParentNode = $themeNode->getElementsByTagName(
'parent')->item(0);
87 $data[
'parent'] = $themeParentNode ? $themeParentNode->nodeValue :
null;
100 return $this->_data[
'title'];
110 return $this->_data[
'media'];
120 $parentTheme = $this->_data[
'parent'];
124 return explode(self::THEME_PATH_SEPARATOR, $parentTheme);
const THEME_PATH_SEPARATOR
__construct(\Magento\Framework\Config\Dom\UrnResolver $urnResolver, $configContent=null)