本文整理匯總了PHP中Magento\Framework\View\Layout::setBlock方法的典型用法代碼示例。如果您正苦於以下問題:PHP Layout::setBlock方法的具體用法?PHP Layout::setBlock怎麽用?PHP Layout::setBlock使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Framework\View\Layout
的用法示例。
在下文中一共展示了Layout::setBlock方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testGetBlock
public function testGetBlock()
{
$this->assertFalse($this->_layout->getBlock('test'));
$block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\\Framework\\View\\Layout')->createBlock('Magento\\Framework\\View\\Element\\Text');
$this->_layout->setBlock('test', $block);
$this->assertSame($block, $this->_layout->getBlock('test'));
}
示例2: testRenameElement
public function testRenameElement()
{
$oldName = 'old_name';
$newName = 'new_name';
$blockMock = $this->getMockBuilder('Magento\\Framework\\View\\Element\\AbstractBlock')->disableOriginalConstructor()->getMockForAbstractClass();
$this->structureMock->expects($this->once())->method('renameElement')->with($this->equalTo($oldName), $this->equalTo($newName))->will($this->returnSelf());
$this->assertSame($this->model, $this->model->setBlock($oldName, $blockMock));
$this->assertSame($this->model, $this->model->renameElement($oldName, $newName));
$this->assertSame([$newName => $blockMock], $this->model->getAllBlocks());
}
示例3: testRenderElementDisplay
/**
* @param mixed $displayValue
* @dataProvider renderElementDisplayDataProvider
*/
public function testRenderElementDisplay($displayValue)
{
$name = 'test_container';
$child = 'child_block';
$children = [$child => true];
$blockHtml = '<html/>';
$this->structureMock->expects($this->atLeastOnce())->method('getAttribute')->willReturnMap([[$name, 'display', $displayValue], [$child, 'display', $displayValue], [$child, 'type', \Magento\Framework\View\Layout\Element::TYPE_BLOCK]]);
$this->structureMock->expects($this->atLeastOnce())->method('hasElement')->willReturnMap([[$child, true]]);
$this->structureMock->expects($this->once())->method('getChildren')->with($name)->willReturn($children);
$block = $this->getMock('Magento\\Framework\\View\\Element\\AbstractBlock', [], [], '', false);
$block->expects($this->once())->method('toHtml')->willReturn($blockHtml);
$renderingOutput = new \Magento\Framework\DataObject();
$renderingOutput->setData('output', $blockHtml);
$this->eventManagerMock->expects($this->at(0))->method('dispatch')->with('core_layout_render_element', ['element_name' => $child, 'layout' => $this->model, 'transport' => $renderingOutput]);
$this->eventManagerMock->expects($this->at(1))->method('dispatch')->with('core_layout_render_element', ['element_name' => $name, 'layout' => $this->model, 'transport' => $renderingOutput]);
$this->model->setBlock($child, $block);
$this->assertEquals($blockHtml, $this->model->renderElement($name, false));
}
示例4: setBlock
/**
* {@inheritdoc}
*/
public function setBlock($name, $block)
{
$pluginInfo = $this->pluginList->getNext($this->subjectType, 'setBlock');
if (!$pluginInfo) {
return parent::setBlock($name, $block);
} else {
return $this->___callPlugins('setBlock', func_get_args(), $pluginInfo);
}
}