Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Reader.php
Go to the documentation of this file.
1 <?php
8 
10 
14 class Reader
15 {
19  const MERGE_CACHE_SUFFIX = 'page_layout';
20 
24  protected $themeResolver;
25 
29  protected $processorFactory;
30 
35 
39  protected $pageLayoutMerge;
40 
44  protected $reader;
45 
54  public function __construct(
55  \Magento\Framework\View\Design\Theme\ResolverInterface $themeResolver,
57  \Magento\Framework\View\File\CollectorInterface $pageLayoutFileSource,
59  ) {
60  $this->themeResolver = $themeResolver;
61  $this->processorFactory = $processorFactory;
62  $this->pageLayoutFileSource = $pageLayoutFileSource;
63  $this->reader = $reader;
64  }
65 
71  protected function getPageLayoutMerge()
72  {
73  if ($this->pageLayoutMerge) {
75  }
76  $this->pageLayoutMerge = $this->processorFactory->create([
77  'theme' => $this->themeResolver->get(),
78  'fileSource' => $this->pageLayoutFileSource,
79  'cacheSuffix' => self::MERGE_CACHE_SUFFIX,
80  ]);
82  }
83 
91  public function read(Layout\Reader\Context $readerContext, $pageLayout)
92  {
93  $this->getPageLayoutMerge()->load($pageLayout);
94  $xml = $this->getPageLayoutMerge()->asSimplexml();
95  $this->reader->interpret($readerContext, $xml);
96  }
97 }
read(Layout\Reader\Context $readerContext, $pageLayout)
Definition: Reader.php:91
__construct(\Magento\Framework\View\Design\Theme\ResolverInterface $themeResolver, \Magento\Framework\View\Layout\ProcessorFactory $processorFactory, \Magento\Framework\View\File\CollectorInterface $pageLayoutFileSource, \Magento\Framework\View\Layout\ReaderPool $reader)
Definition: Reader.php:54