微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel的刀片:如果它是ajax请求,则显示没有布局的模板

所以我使用刀片作为我的模板(显然不是最新版本,但它并不重要)

@layout('master')

@section('mainContent')
my contents here
@endsection

它工作得很好,但事情是当我通过ajax请求调用页面我不希望布局显示,只有mainContent部分

像这样……也许更清洁

@if(!$is_ajaxCall)
@layout('master')
@endif

@if(!$is_ajaxCall)
@section('mainContent')
@endif
my contents here

@if(!$is_ajaxCall)
@endsection
@endif

解决方法

你确实很亲密.使用Request :: ajax()来确定这一点.

@if(!Request::ajax())
    @layout('master')
@endif

您也可以考虑使用Blade Extensions来执行此操作.您需要创建刀片扩展(例如,从您之前的过滤器),然后调用它.然后,您可以进行如下所示的调用

@layoutNoAjax('master')

要了解如何扩展Blade,请参阅以下文章http://blog.zerilliworks.net/blog/2013/04/03/blade-extensions-in-laravel/

更新

我的错.请看这个答案:https://stackoverflow.com/a/15170353/1626250

另外,你标记了laravel-4,它使用了@extends,而不是@layout.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐