yii框架中如何让view不包含页头,页尾和菜单
Posted On 2012年12月1日
使用renderPartial()函数
我们使用一个帮助action做一个例子。(action是controller中的一个函数)。当我们的请求是直接请求一个action,则打开的页面会包含默认的layout 展现, 包含一个网站的页头,页尾,还有菜单等。 当我们是通过ajax进行请求的时候,则只包含内容,没有包含页面布局layout。
示例:
public function actionHelp() {
if (Yii::app()->request->isAjaxRequest) {
$this->renderPartial(‘help’);
}
else {
$this->render(‘help’);
}
}
其实当一个页面,需要执行多个action(或多个controllers中的多个actions)时, 理想的mvc设计中,建议在页面通过ajax进行调用。 而不是在action中嵌套调用action。 因为action本身就是函数, 实际可以在action中调用action。 但非常不建议这么做。
public function actionIndex()
{
Yii::import(‘application.controllers.SiteController’);
$controller_instance = new SiteController(“AnotherController”);
$controller_instance->actionIndex();
}
此篇文章已被阅读1980 次