本文整理汇总了PHP中Mage_Core_Block_Abstract::getChild方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Core_Block_Abstract::getChild方法的具体用法?PHP Mage_Core_Block_Abstract::getChild怎么用?PHP Mage_Core_Block_Abstract::getChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Core_Block_Abstract
的用法示例。
在下文中一共展示了Mage_Core_Block_Abstract::getChild方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testInsert
/**
* @covers Mage_Core_Block_Abstract::insert
* @see testGetSortedChildren()
*/
public function testInsert()
{
// invalid block from layout
$blockZero = new Mage_Core_Block_Template();
$blockZero->setLayout(Mage::app()->getLayout());
$this->assertInstanceOf('Mage_Core_Block_Abstract', $blockZero->insert(uniqid('block.')));
// anonymous block
$blockOne = new Mage_Core_Block_Template();
$blockOne->setIsAnonymous(true);
$this->_block->insert($blockOne);
$this->assertContains('.child0', $this->_block->getSortedChildren());
// block with alias, to the last position
$blockTwo = new Mage_Core_Block_Template();
$blockTwo->setNameInLayout('block.two');
$this->_block->insert($blockTwo, '', true, 'block_two');
$this->assertContains('block.two', $this->_block->getSortedChildren());
$this->assertSame($blockTwo, $this->_block->getChild('block_two'));
// unknown sibling, to the 1st position
$blockThree = new Mage_Core_Block_Template();
$blockThree->setNameInLayout('block.three');
$this->_block->insert($blockThree, 'wrong_sibling', false, 'block_three');
$this->assertContains('block.three', $this->_block->getSortedChildren());
$this->assertSame(0, array_search('block.three', $this->_block->getSortedChildren()));
$blockFour = new Mage_Core_Block_Template();
$blockFour->setNameInLayout('block.four');
$this->_block->insert($blockFour, 'wrong_sibling', true, 'block_four');
$this->assertContains('block.four', $this->_block->getSortedChildren());
$this->assertSame(3, array_search('block.four', $this->_block->getSortedChildren()));
}
示例2: _getChildDataSourcesRecursively
/**
* @param Mana_Admin_Block_Data[] $result
* @param Mage_Core_Block_Abstract $block
*/
protected function _getChildDataSourcesRecursively(&$result, $block)
{
foreach ($block->getChild() as $child) {
if ($child != $this) {
if ($child instanceof Mana_Admin_Block_Data) {
$result[] = $child;
} else {
$this->_getChildDataSourcesRecursively($result, $child);
}
}
}
}
示例3: getChildByType
/**
* Return first found child block of specified type, return false if not found
* @param Mage_Core_Block_Abstract $oParentBlock
* @param object $vType
* @return bool
*/
public function getChildByType(Mage_Core_Block_Abstract $oParentBlock, $vType)
{
$aChildrenBlocks = $oParentBlock->getChild();
if (count($aChildrenBlocks)) {
foreach ($aChildrenBlocks as $oBlock) {
if ($oBlock instanceof $vType) {
return $oBlock;
} elseif ($oGrandChild = $this->getChildByType($oBlock, $vType)) {
return $oGrandChild;
}
}
}
return false;
}
示例4: setParentBlock
/**
* @see parent
*/
public function setParentBlock(Mage_Core_Block_Abstract $block)
{
$block->getChild('save_button')->setLabel(Mage::helper('adminhtml')->__('Refresh'))->setOnClick("configForm.submit('{$this->getSubmitUrl()}');");
return parent::setParentBlock($block);
}
示例5: getDataSource
/**
* @param Mage_Core_Block_Abstract $block
* @return Mana_Admin_Block_Data|null
*/
public function getDataSource($block)
{
foreach ($block->getChild() as $child) {
if ($child instanceof Mana_Admin_Block_Data) {
return $child;
}
}
return null;
}
示例6: setParentBlock
/**
* @see parent
*/
public function setParentBlock(Mage_Core_Block_Abstract $block)
{
$block->getChild('save_button')->setOnClick("confirmAndSubmit();");
return parent::setParentBlock($block);
}