Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
Xml Class Reference
Inheritance diagram for Xml:
AbstractContentType ContentTypeInterface

Public Member Functions

 __construct (FileSystem $filesystem, TemplateEnginePool $templateEnginePool, Generator $generator)
 
 render (UiComponentInterface $view, $template='')
 
- Public Member Functions inherited from AbstractContentType
 __construct (FileSystem $filesystem, TemplateEnginePool $templateEnginePool)
 

Protected Member Functions

 getDataXml (UiComponentInterface $view)
 
 objectToXml (\Magento\Framework\DataObject $object)
 

Protected Attributes

 $filesystem
 
 $templateEnginePool
 
 $generator
 
- Protected Attributes inherited from AbstractContentType
 $filesystem
 
 $templateEnginePool
 

Detailed Description

Class Xml

Definition at line 16 of file Xml.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( FileSystem  $filesystem,
TemplateEnginePool  $templateEnginePool,
Generator  $generator 
)

Constructor

Parameters
FileSystem$filesystem
TemplateEnginePool$templateEnginePool
Generator$generator

Definition at line 40 of file Xml.php.

Member Function Documentation

◆ getDataXml()

getDataXml ( UiComponentInterface  $view)
protected
Parameters
UiComponentInterface$view
Returns
string

Definition at line 78 of file Xml.php.

79  {
80  $result = [
81  'configuration' => $view->getRenderContext()->getStorage()->getComponentsData($view->getName())->getData(),
82  'data' => [],
83  ];
84  foreach ($view->getRenderContext()->getStorage()->getData($view->getName()) as $key => $value) {
85  if (is_object($value)) {
86  if (method_exists($value, 'toXml')) {
87  $result['data'][$key] = $value->toXml();
88  } else {
89  $result['data'][$key] = $this->objectToXml($value);
90  }
91  } else {
92  $result['data'][$key] = $value;
93  }
94  }
95  return $this->generator->arrayToXml($result);
96  }
$value
Definition: gender.phtml:16
objectToXml(\Magento\Framework\DataObject $object)
Definition: Xml.php:104

◆ objectToXml()

objectToXml ( \Magento\Framework\DataObject  $object)
protected

Convert object to xml format

Parameters
\Magento\Framework\DataObject$object
Returns
string

Definition at line 104 of file Xml.php.

105  {
106  return (string)$object;
107  }

◆ render()

render ( UiComponentInterface  $view,
  $template = '' 
)

Render data

Parameters
UiComponentInterface$view
string$template
Returns
string
Exceptions

Implements ContentTypeInterface.

Definition at line 57 of file Xml.php.

58  {
59  $templateEngine = false;
60  if ($template) {
61  $extension = pathinfo($template, PATHINFO_EXTENSION);
62  $templateEngine = $this->templateEnginePool->get($extension);
63  }
64  if ($templateEngine) {
65  $path = $this->filesystem->getTemplateFileName($template);
66  $result = $templateEngine->render($view, $path);
67  } else {
68  $result = $this->getDataXml($view);
69  }
70 
71  throw new \Exception('Please implement XML renderer');
72  }
$template
Definition: export.php:12

Field Documentation

◆ $filesystem

$filesystem
protected

Definition at line 21 of file Xml.php.

◆ $generator

$generator
protected

Definition at line 31 of file Xml.php.

◆ $templateEnginePool

$templateEnginePool
protected

Definition at line 26 of file Xml.php.


The documentation for this class was generated from the following file: