2015-11-26 51 views
6

我需要將變量傳遞給包含的Blade文件。我嘗試過這兩種方式;但是,也沒有成功。Laravel Blade - 通過@include或@yield傳遞變量

  1. 傳遞變量,title,到包含的文件:

    @section('left') 
        @include('modal', ['title' => 'Hello']) 
    @stop 
    
  2. 使用@yield並設置部分:

    @section('left') 
        @include('modal') 
         @section('title') 
         Hello 
         @stop 
    @stop 
    

我使用Laravel 4.2。我不知道我正在嘗試做什麼是可能的,但我想象它是。

+0

你如何試圖輸出呢?第一個選項絕對有效。 – Tim

+0

由於某些原因,它不喜歡'[]'括號。不過,使用'array('title'=>'hello')'可行。 – monster

+0

你使用什麼PHP版本?速記數組在PHP 5.4中引入。 – Tim

回答

7

按照documentation,該include三通應該是做的方式:包括子視圖

@include('view.name')

您也可以傳遞數據的數組所包括的視圖:

@include('view.name', array('some'=>'data'))

我的預感是$title與嵌套模板中的另一個變量衝突。只是爲了排除故障,請嘗試暫時將其稱爲別的。

+0

雖然這樣做,但由於某種原因,它不喜歡'[]'方括號。 「yield」方式如何工作 - 如果是正確的方式? – monster

+0

對不起,錯字。意思'包括'。至於短陣列語法,也許你的PHP版本不支持短陣列語法。你正在使用哪個版本? – Dencker

+0

是的 - 你是對的!謝謝。這是*首選* Laravel的做事方式?也就是說,很多包含和傳遞變量來重新使用模板? – monster

2

數據傳遞的數組包含的觀點

@include('view.name', array('some'=>'data')) 

然後使用這個視圖/文件夾名稱

{{ $some }}