コード例 #1
0
ファイル: AbstractTest.php プロジェクト: relue/magento2
 /**
  * @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
0
ファイル: Data.php プロジェクト: axovel/easycarcare
 /**
  * @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
0
ファイル: Data.php プロジェクト: aligent/cacheobserver
 /**
  * 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
0
ファイル: Form.php プロジェクト: bevello/bevello
 /**
  * @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
0
 /**
  * @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
0
ファイル: Form.php プロジェクト: bevello/bevello
 /**
  * @see parent
  */
 public function setParentBlock(Mage_Core_Block_Abstract $block)
 {
     $block->getChild('save_button')->setOnClick("confirmAndSubmit();");
     return parent::setParentBlock($block);
 }