<?php
/**
* Page layout Config Converter
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Theme\Model\Layout\Config;
class Converter implements \Magento\Framework\Config\ConverterInterface
{
/**
* {@inheritdoc}
*/
public function convert($source)
{
$pageLayouts = [];
$xpath = new \DOMXPath($source);
/** @var $layout DOMNode */
foreach ($xpath->query('/page_layouts/layout') as $layout) {
$layoutAttributes = $layout->attributes;
$id = $layoutAttributes->getNamedItem('id')->nodeValue;
$pageLayouts[$id]['code'] = $id;
/** @var $layoutSubNode DOMNode */
foreach ($layout->childNodes as $layoutSubNode) {
switch ($layoutSubNode->nodeName) {
case 'label':
$pageLayouts[$id][$layoutSubNode->nodeName] = $layoutSubNode->nodeValue;
break;
default:
break;
}
}
}
return $pageLayouts;
}
}
|