本文整理汇总了PHP中CController::getLayoutFile方法的典型用法代码示例。如果您正苦于以下问题:PHP CController::getLayoutFile方法的具体用法?PHP CController::getLayoutFile怎么用?PHP CController::getLayoutFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CController
的用法示例。
在下文中一共展示了CController::getLayoutFile方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: render
/**
* Render full HTML page. A controller/action that uses XPage to render page
* can render its view in Yii's standard way or render a constructed page with a
* main view and multiple sidebars of left and right of the main content.
*
* @param bool $return
*
* @return mixed|string
*/
public function render($return = false)
{
$this->registerAssets();
/**
* re-implement the render() of CController but not firing events
* for beforeRender and afterRender as they are not really useful
*/
$this->renderColumn('left');
$this->renderColumn('main');
$this->renderColumn('right');
$content = '';
foreach ($this->views['main'] as $renderedInfo) {
$content .= "\n" . $renderedInfo['content'];
}
$this->views['content'] = $content;
if (($layoutFile = $this->controller->getLayoutFile($this->controller->layout)) !== false) {
$output = $this->controller->renderFile($layoutFile, $this->views, true);
} else {
$leftContent = '';
foreach ($this->views['left'] as $renderedInfo) {
$leftContent = "\n" . $renderedInfo['content'];
}
$rightContent = '';
foreach ($this->views['right'] as $renderedInfo) {
$rightContent = "\n" . $renderedInfo['content'];
}
$output = $leftContent . "\n" . $content . "\n" . $rightContent;
}
$output = $this->controller->processOutput($output);
if ($return) {
return $output;
} else {
echo $output;
}
}
示例2: render
/**
* Render a view file and return result
*
* If $controller is not set, the (localized) view file is searched in $viewPath
* and the layout in $layoutFile is applied, if set.
*
* @param string $view name of view to render
* @param array $data view data
* @return string rendered content
*/
private function render($view, $data = array())
{
if (($controller = $this->controller) === null) {
static $controller;
if ($controller === null) {
$controller = new CController('pdffile');
}
$controller->layout = $this->layout;
// Required to make console app play nicely during rendering
Yii::app()->attachBehavior('consoleWorkaround', array('class' => 'ConsoleAppWorkaround', '_viewPath' => $this->baseViewPath, '_layoutPath' => $this->layoutPath));
$file = Yii::app()->findLocalizedFile($this->viewPath . '/' . $view . '.php');
if ($file === false) {
throw new CException('Could not find view file ' . $view);
}
ini_set('implicit_flush', false);
$content = $controller->renderInternal($file, $data, true);
if ($controller->layout === null) {
return $content;
}
return $controller->renderInternal($controller->getLayoutFile($controller->layout), array('content' => $content), true);
} else {
return $controller->render($view, $data, true);
}
}
示例3: getLayoutFile
/**
* @inheritDoc
*/
public function getLayoutFile($layoutName)
{
if (($layoutFile = parent::getLayoutFile($layoutName)) === false) {
$layoutFile = $this->getDefaultViewFile($layoutName, 'layouts');
}
return $layoutFile;
}