return $this; } /** * Unset child block * * @param string $name * @return Mage_Core_Block_Abstract */ public function unsetChild($alias) { if (isset($this->_children[$alias])) { unset($this->_children[$alias]); } if (!empty($this->_sortedChildren)) { $key = array_search($alias, $this->_sortedChildren); if ($key!==false) { unset($this->_sortedChildren[$key]); } } return $this; } /** * Call a child and unset it, if callback matched result * * $params will pass to child callback * $params may be array, if called from layout with elements with same name, for example: * ...value_1value_2value_3 * * Or, if called like this: * ...value_1value_2value_3 * - then it will be $params1, $params2, $params3 * * It is no difference anyway, because they will be transformed in appropriate way. * * @param string $alias * @param string $callback * @param mixed $result * @param array $params * @return Mage_Core_Block_Abstract */ public function unsetCallChild($alias, $callback, $result, $params) { $child = $this->getChild($alias); if ($child) { $args = func_get_args(); $alias = array_shift($args); $callback = array_shift($args); $result = (string)array_shift($args); if (!is_array($params)) { $params = $args; } if ($result == call_user_func_array(array(&$child, $callback), $params)) { $this->unsetChild($alias); } } return $this; } /** * Unset all children blocks * * @return Mage_Core_Block_Abstract */ public function unsetChildren() { $this->_children = array(); $this->_sortedChildren = array(); return $this; } /** * Retrieve child block by name * * @param string $name * @return mixed */ public function getChild($name='') { if (''===$name) { return $this->_children; } elseif (isset($this->_children[$name])) { return $this->_children[$name]; } return false; } /** * Retrieve child block HTML * * @param string $name * @param boolean $useCache * @return string */ public function getChildHtml($name='', $useCache=true, $sorted=false) { if ('' === $name) { if ($sorted) { $children = array(); foreach ($this->getSortedChildren() as $childName) { $children[$childName] = $this->getLayout()->getBlock($childName); } } else { $children = $this->getChild(); } $out = ''; foreach ($children as $child) { $out .= $this->_getChildHtml($child->getBlockAlias(), $useCache); } return $out; } else { return $this->_getChildHtml($name, $useCache); } } public function getChildChildHtml($name, $childName = '', $useCache = true, $sorted = false) { if (empty($name)) { return ''; } $child = $this->getChild($name); if (!$child) { return ''; } return $child->getChildHtml($childName, $useCache, $sorted); } /** * Obtain sorted child blocks * * @return array */ public function getSortedChildBlocks() { $children = array(); foreach ($this->getSortedChildren() as $childName) { $children[$childName] = $this->getLayout()->getBlock($childName); } return $children; } /** * Retrieve child block HTML * * @param string $name * @param boolean $useCache * @return string */ protected function _getChildHtml($name, $useCache=true) { if ($useCache && isset($this->_childrenHtmlCache[$name])) { return $this->_childrenHtmlCache[$name]; } $child = $this->getChild($name); if (!$child) { $html = ''; } else { $this->_beforeChildToHtml($name, $child); $html = $child->toHtml(); } $this->_childrenHtmlCache[$name] = $html; return $html; } /** * Prepare child block before generate html * * @param string $name * @param Mage_Core_Block_Abstract $child */ protected function _beforeChildToHtml($name, $child) { } /** * Retrieve block html * * @param string $name * @return string */ public function getBlockHtml($name) { if (!($layout = $this->getLayout()) && !($layout = Mage::app()->getFrontController()->getAction()->getLayout())) { return ''; } if (!($block = $layout->getBlock($name))) { return ''; } return $block->toHtml(); } /** * Insert child block * * @param Mage_Core_Block_Abstract|string $block * @param string $siblingName * @param boolean $after * @param string $alias * @return object $this */ public function insert($block, $siblingName='', $after=false, $alias='') { if (is_string($block)) { $block = $this->getLayout()->getBlock($block); } if (!$block) { /* * if we don't have block - don't throw exception because * block can simply removed using layout method remove */ //Mage::throwException(Mage::helper('core')->__('Invalid block name to set child %s: %s', $alias, $block)); return $this; } if ($block->getIsAnonymous()) { $this->setChild('', $block); $name = $block->getNameInLayout(); } elseif ('' != $alias) { $this->setChild($alias, $block); $name = $block->getNameInLayout(); } else { $name = $block->getNameInLayout(); $this->setChild($name, $block); } if (''===$siblingName) { if ($after) { array_push($this->_sortedChildren, $name); } else { array_unshift($this->_sortedChildren, $name); } } else { $key = array_search($siblingName, $this->_sortedChildren); if (false!==$key) { if ($after) { $key++; } array_splice($this->_sortedChildren, $key, 0, $name); } else { if ($after) { array_push($this->_sortedChildren, $name); } else { array_unshift($this->_sortedChildren, $name); } } } return $this; } /** * Append child block * * @param Mage_Core_Block_Abstract|string $block * @param string $alias * @return Mage_Core_Block_Abstract */ public function append($block, $alias='') { $this->insert($block, '', true, $alias); return $this; } /** * Before rendering html, but after trying to load cache * * @return Mage_Core_Block_Abstract */ protected function _beforeToHtml() { return $this; } /** * Specify block output frame tags * * @param $openTag * @param $closeTag * @return Mage_Core_Block_Abstract */ public function setFrameTags($openTag, $closeTag=null) { $this->_frameOpenTag = $openTag; if ($closeTag) { $this->_frameCloseTag = $closeTag; } else { $this->_frameCloseTag = '/'.$openTag; } return $this; } /** * Produce and return block's html output * * It is a final method, but you can override _toHmtl() method in descendants if needed * * @return string */ final public function toHtml() { Mage::dispatchEvent('core_block_abstract_to_html_before', array('block' => $this)); if (Mage::getStoreConfig('advanced/modules_disable_output/'.$this->getModuleName())) { return ''; } $html = $this->_loadCache(); if (!$html) { $translate = Mage::getSingleton('core/translate'); /* @var $translate Mage_Core_Model_Translate */ if ($this->hasData('translate_inline')) { $translate->setTranslateInline($this->getData('translate_inline')); } $this->_beforeToHtml(); $html = $this->_toHtml(); $this->_saveCache($html); if ($this->hasData('translate_inline')) { $translate->setTranslateInline(true); } } $html = $this->_afterToHtml($html); Mage::dispatchEvent('core_block_abstract_to_html_after', array('block' => $this)); /** * Check framing options */ if ($this->_frameOpenTag) { $html = '<'.$this->_frameOpenTag.'>'.$html.'<'.$this->_frameCloseTag.'>'; } return $html; } /** * Processing block html after rendering * * @param string $html * @return string */ protected function _afterToHtml($html) { return $html; } /** * Override this method in descendants to produce html * * @return string */ protected function _toHtml() { return ''; } /** * Enter description here... * * @return string */ protected function _getUrlModelClass() { return 'core/url'; } /** * Enter description here... * * @return Mage_Core_Model_Url */ protected function _getUrlModel() { return Mage::getModel($this->_getUrlModelClass());; } /** * Generate url by route and parameters * * @param string $route * @param array $params * @return string */ public function getUrl($route='', $params=array()) { return $this->_getUrlModel()->getUrl($route, $params); } /** * Generate base64-encoded url by route and parameters * * @param string $route * @param array $params * @return string */ public function getUrlBase64($route='', $params=array()) { return Mage::helper('core')->urlEncode($this->getUrl($route, $params)); } /** * Generate url-encoded url by route and parameters * * @param string $route * @param array $params * @return string */ public function getUrlEncoded($route = '', $params = array()) { return Mage::helper('core')->urlEncode($this->getUrl($route, $params)); } /** * Retrieve url of skins file * * @param string $file path to file in skin * @param array $params * @return string */ public function getSkinUrl($file=null, array $params=array()) { return Mage::getDesign()->getSkinUrl($file, $params); } /** * Retrieve messages block * * @return Mage_Core_Block_Messages */ public function getMessagesBlock() { if (is_null($this->_messagesBlock)) { return $this->getLayout()->getMessagesBlock(); } return $this->_messagesBlock; } /** * Set messages block * * @param Mage_Core_Block_Messages $block * @return Mage_Core_Block_Abstract */ public function setMessagesBlock(Mage_Core_Block_Messages $block) { $this->_messagesBlock = $block; return $this; } /** * Enter description here... * * @param string $type * @return Mage_Core_Block_Abstract */ public function getHelper($type) { return $this->getLayout()->getBlockSingleton($type); //return $this->helper($type); } /** * Enter description here... * * @param string $name * @return Mage_Core_Block_Abstract */ public function helper($name) { if ($this->getLayout()) { return $this->getLayout()->helper($name); } return Mage::helper($name); } /** * Retrieve formating date * * @param string $date * @param string $format * @param bool $showTime * @return string */ public function formatDate($date=null, $format='short', $showTime=false) { return $this->helper('core')->formatDate($date, $format, $showTime); } /** * Retrieve formating time * * @param string $time * @param string $format * @param bool $showDate * @return string */ public function formatTime($time=null, $format='short', $showDate=false) { return $this->helper('core')->formatTime($time, $format, $showDate); } /** * Retrieve module name of block * * @return string */ public function getModuleName() { $module = $this->getData('module_name'); if (is_null($module)) { $class = get_class($this); $module = substr($class, 0, strpos($class, '_Block')); $this->setData('module_name', $module); } return $module; } /** * Translate block sentence * * @return string */ public function __() { $args = func_get_args(); $expr = new Mage_Core_Model_Translate_Expr(array_shift($args), $this->getModuleName()); array_unshift($args, $expr); return Mage::app()->getTranslator()->translate($args); } /** * @deprecated after 1.4.0.0-rc1 * @see self::escapeHtml() */ public function htmlEscape($data, $allowedTags = null) { return $this->escapeHtml($data, $allowedTags); } /** * Escape html entities * * @param mixed $data * @param array $allowedTags * @return string */ public function escapeHtml($data, $allowedTags = null) { return $this->helper('core')->escapeHtml($data, $allowedTags); } /** * Wrapper for standart strip_tags() function with extra functionality for html entities * * @param string $data * @param string $allowableTags * @param bool $allowHtmlEntities * @return string */ public function stripTags($data, $allowableTags = null, $allowHtmlEntities = false) { return $this->helper('core')->stripTags($data, $allowableTags, $allowHtmlEntities); } /** * @deprecated after 1.4.0.0-rc1 * @see self::escapeUrl() */ public function urlEscape($data) { return $this->escapeUrl($data); } /** * Escape html entities in url * * @param string $data * @return string */ public function escapeUrl($data) { return $this->helper('core')->escapeUrl($data); } /** * Escape quotes in java scripts * * @param mixed $data * @param string $quote * @return mixed */ public function jsQuoteEscape($data, $quote = '\'') { return $this->helper('core')->jsQuoteEscape($data, $quote); } /** * Alias for getName method. * * @return string */ public function getNameInLayout() { return $this->_nameInLayout; } /** * Get chilren blocks count * @return int */ public function countChildren() { return count($this->_children); } /** * Prepare url for save to cache * * @return Mage_Core_Block_Abstract */ protected function _beforeCacheUrl() { if (Mage::app()->useCache(self::CACHE_GROUP)) { Mage::app()->setUseSessionVar(true); } return $this; } /** * Replace URLs from cache * * @param string $html * @return string */ protected function _afterCacheUrl($html) { if (Mage::app()->useCache(self::CACHE_GROUP)) { Mage::app()->setUseSessionVar(false); Varien_Profiler::start('CACHE_URL'); $html = Mage::getSingleton('core/url')->sessionUrlVar($html); Varien_Profiler::stop('CACHE_URL'); } return $html; } /** * Get Key for caching block content * * @return string */ public function getCacheKey() { if (!$this->hasData('cache_key')) { $this->setCacheKey($this->getNameInLayout()); } return $this->getData('cache_key'); } /** * Get tags array for saving cache * * @return array */ public function getCacheTags() { if (!$this->hasData('cache_tags')) { $tags = array(); } else { $tags = $this->getData('cache_tags'); } $tags[] = self::CACHE_GROUP; return $tags; } /** * Get block cache life time * * @return int */ public function getCacheLifetime() { if (!$this->hasData('cache_lifetime')) { return null; } return $this->getData('cache_lifetime'); } /** * Load block html from cache storage * * @return string | false */ protected function _loadCache() { if (is_null($this->getCacheLifetime()) || !Mage::app()->useCache(self::CACHE_GROUP)) { return false; } return Mage::app()->loadCache($this->getCacheKey()); } /** * Save block content to cache storage * * @param string $data * @return Mage_Core_Block_Abstract */ protected function _saveCache($data) { if (is_null($this->getCacheLifetime()) || !Mage::app()->useCache(self::CACHE_GROUP)) { return false; } Mage::app()->saveCache($data, $this->getCacheKey(), $this->getCacheTags(), $this->getCacheLifetime()); return $this; } } abstract class Mage_Core_Block_Abstract extends Aitoc_Aitsys_Model_Rewriter_Mage_Core_Block_Abstract { protected function _afterToHtml($html) { $html = parent::_afterToHtml($html); $transport = new Varien_Object(array('html' => $html)); Mage::dispatchEvent('aitsys_block_abstract_to_html_after', array('block' => $this, 'transport'=>$transport)); return $transport->getHtml(); } } 404 Not Found | Makita Tools | Dewalt Power Tools | Porter Cable Tools | Milwaukee Tools | ToolKing.com
ToolKing.com Logo
Empower someone with a ToolKing.com Gift Card. Click here.

Sorry, the page you are looking for has moved or is no longer active.

Common reasons for finding a 404 error page


  • If you typed the URL directly, please make sure the spelling is correct.
  • If you clicked on a link to get here, we must have moved the content.
    Please try our store search box above to search for an item.
  • If you are not sure how you got here, Try your browser's BACK button to go back to the previous page or return to our store homepage.