打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Yii 控制层<->视图 跳转调用详解(二)
Yii framwork renderPartial 的用法
<?php echo $this->renderPartial('/default/add_news');?>
<?php echo $this->renderPartial('//public/footer');?>

absolute view within a module: the view name starts with a single slash '/'. 
absolute view within the application: the view name starts with double slashes '//'.

当前module下的view文件使用/
外层views下的view文件用//

(Yii)使用renderPartial调用另外一个控制器的视图


我们可以使用renderPartial访问存储在不同控制器的视图文件夹中的部分视图文件。

在Yii1.1.3中,我们使用双斜线“//”,程序就会从视图文件夹开始搜索,例如:

protected/views/library/_book.php
renderPartial(’//library/_book’, array(’books’=>$books))

如果使用单斜杠“/”开始搜索,程序就会跳出当前的活动模块,从应用程序的视图路径去搜索。


yii renderPartial ajax validate(ajax验证)



yii的自带验证很好用,可以前后台一起实现,这样就少写了很多js代码.

今天在做项目的时候用yii中的renderPartial来指定视图文件,还是用原来的验证,结果不起作用了.经过查找资料找到了如下解决办法:

高亮部分就是需要设置的地方

yii renderPartial不加载css js样式解决的方法


1、用YII框架实现后台框架页面。加载视图时(该视图是将以前的index.php内所有代码复制过来),始终显示了不最终页面。似乎是加载了视图又放到main.php布局里。后来研究发现,原来使用render()加载视图,会把需要的js,css等嵌入,同时也会将视图内容加载到布局中并最终显示。如果使用render()方法,又不想使用布局,在使用render()方法之前使用:$this->layout=false,即可。

 

1
2
3
4
5
public function actionIndex()
{
    $this->layout= false;
    $this->render('index');
}

采用如上代码,更改actionTop()、actionLeft()、actionMain()等方法,最后成功显示框架页面。

这时回想到:renderPartial()方法不是不加载布局文件的吗?的确是,但是使用该方法则不会把需要的js,css等嵌入

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
yii中引入js和css文件
YII路径总结
Yii小部件(Widget)
yii框架的使用
Yii使用数据库操作
php页面防止重复提交
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服