HtmlContent.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Ui\Config\Converter;
  7. use Magento\Framework\View\Element\UiComponent\Config\Converter;
  8. use Magento\Ui\Config\ConverterInterface;
  9. /**
  10. * Converter for htmlContent component wrapped block
  11. */
  12. class HtmlContent implements ConverterInterface
  13. {
  14. /**
  15. * @inheritdoc
  16. */
  17. public function convert(\DOMNode $node, array $data)
  18. {
  19. $items = [];
  20. /** @var \DOMElement $node */
  21. if ($node->nodeType == XML_ELEMENT_NODE) {
  22. $xml = '<?xml version="1.0"?>' . "\n"
  23. . '<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . "\n"
  24. . $node->ownerDocument->saveXML($node) . "\n"
  25. . '</layout>';
  26. $items['layout']['xsi:type'] = 'string';
  27. $items['layout']['name'] = 'layout';
  28. $items['layout']['value'] = $xml;
  29. $items['name']['xsi:type'] = 'string';
  30. $items['name']['name'] = 'block';
  31. $items['name']['value'] = $node->getAttribute('name');
  32. }
  33. return [
  34. 'xsi:type' => 'array',
  35. 'item' => $items
  36. ];
  37. }
  38. }