protected preRenderRecursive ( ) |
protected function preRenderRecursive()
{
$this->autoDataBindProperties();
if ($this->getVisible(false)) {
if (isset($this->_rf[self::RF_ADAPTER])) {
$this->_rf[self::RF_ADAPTER]->onPreRender(null);
} else {
$this->onPreRender(null);
}
if ($this->getHasControls()) {
foreach ($this->_rf[self::RF_CONTROLS] as $control) {
if ($control instanceof TControl) {
$control->preRenderRecursive();
} else {
if ($control instanceof TCompositeLiteral) {
$control->evaluateDynamicContent();
}
}
}
}
}
$this->_stage = self::CS_PRERENDERED;
}
/** * 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(); } }