app/code/local/Aoe/Layout/Model/Layout.php
protected function _generateAction($node, $parent)
    {
        if ($node instanceof Mage_Core_Model_Layout_Element) {
            if (!$this->checkConditionals($node)) {
                return $this;
            }
        }

        $method = (string)$node['method'];
        if (!empty($node['block'])) {
            $parentName = (string)$node['block'];
        } else {
            $parentName = $parent->getBlockName();
        }

        $_profilerKey = 'BLOCK ACTION: ' . $parentName . ' -> ' . $method;
        Varien_Profiler::start($_profilerKey);

        if (!empty($parentName)) {
            $block = $this->getBlock($parentName);
        }
        if (!empty($block)) {
            $args = (array)$node->children();

            $jsonArgs = (isset($node['json']) ? explode(' ', (string)$node['json']) : []);
            $jsonHelper = Mage::helper('core');
            $translateArgs = (isset($node['translate']) ? explode(' ', (string)$node['translate']) : []);
            $translateHelper = Mage::helper(isset($node['module']) ? (string)$node['module'] : 'core');
            $args = $this->processActionArgs($args, $jsonArgs, $jsonHelper, $translateArgs, $translateHelper);

            call_user_func_array([$block, $method], $args);
        }

        Varien_Profiler::stop($_profilerKey);

        return $this;
    }
protected function _generateAction($node, $parent)
    {
        if ($node instanceof Mage_Core_Model_Layout_Element) {
            if (!$this->checkConditionals($node)) {
                return $this;
            }
        }

        $method = (string)$node['method'];
        if (!empty($node['block'])) {
            $parentName = (string)$node['block'];
        } else {
            $parentName = $parent->getBlockName();
        }

        $_profilerKey = 'BLOCK ACTION: ' . $parentName . ' -> ' . $method;
        Varien_Profiler::start($_profilerKey);

        if (!empty($parentName)) {
            $block = $this->getBlock($parentName);
        }
        if (!empty($block)) {
            $args = (array)$node->children();

            $jsonArgs = (isset($node['json']) ? explode(' ', (string)$node['json']) : []);
            $jsonHelper = Mage::helper('core');
            $translateArgs = (isset($node['translate']) ? explode(' ', (string)$node['translate']) : []);
            $translateHelper = Mage::helper(isset($node['module']) ? (string)$node['module'] : 'core');
            $args = $this->processActionArgs($args, $jsonArgs, $jsonHelper, $translateArgs, $translateHelper);

            call_user_func_array([$block, $method], $args);
        }

        Varien_Profiler::stop($_profilerKey);

        return $this;
    }
protected function _generateAction ( $ node , $ parent ) { if ( $ node instanceof Mage_Core_Model_Layout_Element ) { if ( ! $ this -> checkConditionals ( $ node ) ) { return $ this ; } } $ method = ( string ) $ node [ 'method' ] ; if ( ! empty ( $ node [ 'block' ] ) ) { $ parentName = ( string ) $ node [ 'block' ] ; } else { $ parentName = $ parent -> getBlockName ( ) ; } $ _profilerKey = 'BLOCK ACTION: ' . $ parentName . ' -> ' . $ method ; Varien_Profiler :: start ( $ _profilerKey ) ; if ( ! empty ( $ parentName ) ) { $ block = $ this -> getBlock ( $ parentName ) ; } if ( ! empty ( $ block ) ) { $ args = ( array ) $ node -> children ( ) ; $ jsonArgs = ( isset ( $ node [ 'json' ] ) ? explode ( ' ' , ( string ) $ node [ 'json' ] ) : [ ] ) ; $ jsonHelper = Mage :: helper ( 'core' ) ; $ translateArgs = ( isset ( $ node [ 'translate' ] ) ? explode ( ' ' , ( string ) $ node [ 'translate' ] ) : [ ] ) ; $ translateHelper = Mage :: helper ( isset ( $ node [ 'module' ] ) ? ( string ) $ node [ 'module' ] : 'core' ) ; $ args = $ this -> processActionArgs ( $ args , $ jsonArgs , $ jsonHelper , $ translateArgs , $ translateHelper ) ; call_user_func_array ( [ $ block , $ method ] , $ args ) ; } Varien_Profiler :: stop ( $ _profilerKey ) ; return $ this ; }
Convert an action node into a method call on the parent block

@param Varien_Simplexml_Element $node
@param Varien_Simplexml_Element $parent

@return Aoe_Layout_Model_Layout
Convert an action node into a method call on the parent block