拥有多个layout情况下,禁止输出它的处理方式

当项目中存在有多个layout情况下的时候(这种情况蛮多的,前台后台这就是两个了)。

我们假设后台使用的是默认layout,那么前台我是这样处理的,写在module.php文件中

这样是可以使用当前设置的layout了,假如我在这个模块的下面的页面显示中想通过ajax调用其中的一个Action显示,只显示对应的模板内容,而不显示layout,我们该如何做呢。

可能你会说,使用如下代码

这在系统中只有一个默认layout下是没问题的,当时超过一个的时候,怎么设置都无法禁止layout的显示,也许是我的方法不对或者是其他原因吧。既然不管用,我们该如何处理呢?

回到最上面的代码,我们需要做一下修改(module.php文件中的),将

修改为

这是什么意思呢,当有ajax请求时,禁用layout,然后我们在去看我们调用的ajax显示内容,ok了,去除了layout。还不要高兴的太早,在火狐浏览器下用firebug查看ajax返回值时,会发现返回值中竟然带有默认layout的信息。

这时我们就需要再一次在对应的ajax调用的Action中,加入如下代码了

这样就不会有问题了。

评论关闭

return top