/** * 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; }
/** * @param string $handle * * @dataProvider pageLayoutDataProvider */ public function testPageLayout($handle) { $this->model->setPageLayout($handle); $this->assertEquals($handle, $this->model->getPageLayout()); }
/** * @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); } }
/** * 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; }