/** * Performs the PreRender step for the control and all its child controls. * This method overrides the parent implementation by setting up * the stack of the output cache in the page. * Only framework developers should use this method. * @param TControl the naming container control */ protected function preRenderRecursive() { if ($this->_cacheAvailable && !$this->_dataCached) { $stack = $this->getPage()->getCachingStack(); $stack->push($this); parent::preRenderRecursive(); $stack->pop(); } else { parent::preRenderRecursive(); } }