示例#1
0
 /**
  * @test
  * @return void
  * @covers \Magento\Theme\Model\Layout\Config::getPageLayouts
  * @covers \Magento\Theme\Model\Layout\Config::getPageLayout
  * @covers \Magento\Theme\Model\Layout\Config::getPageLayoutHandles
  * @covers \Magento\Theme\Model\Layout\Config::_initPageLayouts
  * @covers \Magento\Theme\Model\Layout\Config::__construct
  */
 public function testGetPageLayout()
 {
     $data = ['code' => ['label' => 'Test Label', 'code' => 'testCode']];
     $expectedResult = ['code' => new DataObject(['label' => __('Test Label'), 'code' => 'testCode'])];
     $this->dataStorage->expects($this->once())->method('get')->with(null, null)->willReturn($data);
     $this->assertEquals($expectedResult, $this->_model->getPageLayouts());
     $this->assertEquals($expectedResult['code'], $this->_model->getPageLayout('code'));
     $this->assertFalse($this->_model->getPageLayout('wrong_code'));
     $this->assertEquals([$expectedResult['code']['code'] => $expectedResult['code']['code']], $this->_model->getPageLayoutHandles());
 }
示例#2
0
 /**
  * Retrieve current applied page layout
  *
  * @return \Magento\Framework\Object|boolean
  */
 public function getCurrentPageLayout()
 {
     if ($this->_layout->getBlock('root') && $this->_layout->getBlock('root')->getLayoutCode()) {
         return $this->_config->getPageLayout($this->_layout->getBlock('root')->getLayoutCode());
     }
     // All loaded handles
     $handles = $this->_layout->getUpdate()->getHandles();
     // Handles used in page layouts
     $pageLayoutHandles = $this->_config->getPageLayoutHandles();
     // Applied page layout handles
     $appliedHandles = array_intersect($handles, $pageLayoutHandles);
     if (empty($appliedHandles)) {
         return false;
     }
     $currentHandle = array_pop($appliedHandles);
     $layoutCode = array_search($currentHandle, $pageLayoutHandles, true);
     return $this->_config->getPageLayout($layoutCode);
 }
 public function testGetPageLayout()
 {
     $empty = ['label' => 'Empty', 'code' => 'empty'];
     $this->assertEquals($empty, $this->_model->getPageLayout('empty')->getData());
     $this->assertFalse($this->_model->getPageLayout('unknownLayoutCode'));
 }
示例#4
0
 public function testGetPageLayout()
 {
     $empty = array('label' => 'Empty', 'code' => 'empty', 'template' => 'empty.phtml', 'layout_handle' => 'page_empty', 'is_default' => '0');
     $this->assertEquals($empty, $this->_model->getPageLayout('empty')->getData());
     $this->assertFalse($this->_model->getPageLayout('unknownLayoutCode'));
 }