/** * 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]; }
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; }