示例#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 testGetPageLayoutHandles()
 {
     $expected = ['empty' => 'empty', '1column' => '1column'];
     $this->assertEquals($expected, $this->_model->getPageLayoutHandles());
 }
示例#4
0
 public function testGetPageLayoutHandles()
 {
     $expected = array('empty' => 'page_empty', 'one_column' => 'page_one_column');
     $this->assertEquals($expected, $this->_model->getPageLayoutHandles());
 }