yii分析 配置了module,layout的疑问

配置了三个module(module1,module2,module3)后,这个三个module下分别有三个layout.
同时在protected目录下,有一个layout文件夹,
我的想法是,举个例子来说,
当程序运行到module1后,要渲染layout时,先到module1.views.layout下寻找指定layout,
如果没有找到,就继续到protected.views.layouts下去寻找layout.

这样子,module1和module2和module3公用的layout就可以放到protected.views.layouts路径下,只需要维护一个layout,不用维护多个layout!

不知道框架是否存在这个问题,还是这问题已经解决了,更新的版本低了(注:前天才更新的svn)

 

 

 

 

现在的做法是这样的:
1. 如果CWebModule.layout没设置,那么该module下的所有view都将采用application的layout。
2. 如果CWebModule.layout,或CController.layout设置了,那么layout将在module1.views.layout下搜索。

这和你想要的有所差别。你可以通过改写CController::getLayoutFile()来实现你想要的方式。

 

 

 

  • Posts: 16
    • View Profile
    • Email
    • Offline
    Re: 配置了module,layout的疑问
    « Reply #2 on: March 19, 2009, 09:50:42 PM »
    我在控制器配置layout使用下面的方式解决问题
    $this->layout = 'main'
    修改为
    $this->layout = 'application.views.layouts.main';
    解决了此问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值