如何从 Laravel5 中的刀片模板传递扩展主模板中的变量?

Posted

技术标签:

【中文标题】如何从 Laravel5 中的刀片模板传递扩展主模板中的变量?【英文标题】:How to pass variable in extended master template from blade template in Laravel5? 【发布时间】:2015-07-10 11:33:18 【问题描述】:

我是 Laravel 的新手,在将 $page_title 变量传递给在另一个刀片模板中扩展的主模板时遇到问题。我的目标是将$page_title 传递给我想在<title>@yield('title', "Laravel CRUD")</title> 的标题中显示它的主模板。这是我的代码。

控制器

class HomeController extends Controller 

    public function index(Request $request)

        $data = array("pate_title"=>"Home");


        return view('home.index', $data);

    //end function


这一行在我的主模板中

<title>@yield('title', "Laravel CRUD")</title>

Home.index 视图模板

@extends('master')

@section('title', $page_title) //error in this line

@section('content')

    <p>This is my body content.</p>
    $pate_title
@stop

home.index 视图中的标记行存在语法错误,显示为Expected: semicolon,但它不起作用。我知道这一定是一个非常愚蠢的问题,但谷歌搜索后没有找到任何东西。也许我没有在谷歌中输入正确的关键字。

【问题讨论】:

【参考方案1】:

你必须省略大括号: @section('title', $page_title).

【讨论】:

【参考方案2】:

刚刚找到解决方案。使用以下行

@section('title')
    $page_title
@stop

而不是

@section('title', $page_title) 

并且工作正常。

【讨论】:

以上是关于如何从 Laravel5 中的刀片模板传递扩展主模板中的变量?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 扩展刀片模板 - $errors 集合中的错误

laravel5.1 - 刀片模板不渲染

Laravel 5.2:如何在刀片模板中设置变量,没有 php 标签?

将 Vue 根实例中的 prop 传递到刀片模板文件中的组件中

刀片模板中的Laravel重定向问题

我可以在刀片模板 laravel 5 中使用请求路径 URI 吗?