Example #1
0
 /**
  * Overriden for possibility of replacing a block by mock object
  * (non-PHPdoc)
  * @see Mage_Core_Model_Layout::_getBlockInstance()
  */
 protected function _getBlockInstance($block, array $attributes = array())
 {
     if (!isset($this->_replaceBlockCreation[$block])) {
         return parent::_getBlockInstance($block, $attributes);
     }
     return $this->_replaceBlockCreation[$block];
 }
Example #2
0
 protected function _getBlockInstance($block, array $attributes = array())
 {
     if (version_compare(Mage::getVersion(), '1.3.1', '>')) {
         return parent::_getBlockInstance($block, $attributes);
     }
     if (is_string($block)) {
         if (strpos($block, '/') !== false) {
             if (!($block = Mage::getConfig()->getBlockClassName($block))) {
                 Mage::throwException(Mage::helper('core')->__('Invalid block type: %s', $block));
             }
         }
         $fileName = mageFindClassFile($block);
         if ($fileName !== false) {
             if (!class_exists($block, false)) {
                 include_once $fileName;
             }
             $block = new $block($attributes);
         }
     }
     if (!$block instanceof Mage_Core_Block_Abstract) {
         Mage::throwException(Mage::helper('core')->__('Invalid block type: %s', $block));
     }
     return $block;
 }
 /**
  * Makes it possible to specify special options, after the block is created
  *
  * @param string $block
  * @param array $attributes
  * @return Mage_Core_Block_Abstract
  */
 protected function _getBlockInstance($block, array $attributes = array())
 {
     $block = parent::_getBlockInstance($block, $attributes);
     if ($block && isset($attributes['_ecomdev_system_option'])) {
         if (isset($attributes['_ecomdev_system_option']['is_anonymous'])) {
             $block->setIsAnonymous($attributes['_ecomdev_system_option']['is_anonymous']);
             if (isset($attributes['_ecomdev_system_option']['anon_suffix'])) {
                 $block->setAnonSuffix($attributes['_ecomdev_system_option']['anon_suffix']);
             }
         }
     }
     return $block;
 }