Example #1
0
 /**
  * Add default body classes for current page layout
  *
  * @return $this
  */
 protected function addDefaultBodyClasses()
 {
     $config = $this->getConfig();
     $config->addBodyClass($this->_request->getFullActionName('-'));
     $pageLayout = $this->pageConfig->getPageLayout();
     if ($pageLayout) {
         $config->addBodyClass('page-layout-' . $pageLayout);
     }
     return $this;
 }
Example #2
0
 /**
  * @param string $handle
  *
  * @dataProvider pageLayoutDataProvider
  */
 public function testPageLayout($handle)
 {
     $this->model->setPageLayout($handle);
     $this->assertEquals($handle, $this->model->getPageLayout());
 }
Example #3
0
 /**
  * @return string
  */
 protected function getPageLayout()
 {
     return $this->pageConfig->getPageLayout() ?: $this->getLayout()->getUpdate()->getPageLayout();
 }
 /**
  * {@inheritdoc}
  */
 public function getPageLayout()
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getPageLayout');
     if (!$pluginInfo) {
         return parent::getPageLayout();
     } else {
         return $this->___callPlugins('getPageLayout', func_get_args(), $pluginInfo);
     }
 }
Example #5
0
 /**
  * Load layout updates by handles
  *
  * @param array|string $handles
  * @throws \Magento\Framework\Exception
  * @return $this
  */
 public function load($handles = array())
 {
     if (is_string($handles)) {
         $handles = array($handles);
     } elseif (!is_array($handles)) {
         throw new \Magento\Framework\Exception('Invalid layout update handle');
     }
     $this->addHandle($handles);
     $cacheId = $this->_getCacheId(md5(implode('|', $this->getHandles())));
     $cacheIdPageLayout = $cacheId . '_' . self::PAGE_LAYOUT_CACHE_SUFFIX . '_' . $this->pageConfig->getPageLayout();
     $result = $this->_loadCache($cacheId);
     if ($result) {
         $this->addUpdate($result);
         $this->loadLayoutCache($cacheIdPageLayout);
         return $this;
     }
     foreach ($this->getHandles() as $handle) {
         $this->_merge($handle);
     }
     $this->processLayoutPage();
     $pageLayoutHandle = $this->pageConfig->getPageLayout();
     if ($this->pageLayout) {
         $this->_merge($pageLayoutHandle);
         $this->addHandle($pageLayoutHandle);
         $this->_saveCache($pageLayoutHandle, $cacheIdPageLayout);
     }
     $layout = $this->asString();
     $this->_validateMergedLayout($cacheId, $layout);
     $this->_saveCache($layout, $cacheId, $this->getHandles());
     return $this;
 }