2013-01-23 98 views
1

我是新來laravel試圖學習布萊德,但有一個問題,這是令我震驚。 我有一個如何獲得laravel的@layout功能?

index.blade.php 

@layout('master') 

,我也有一個

master.blade.php 
<!doctype html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
<title>Laravel: A Framework For Web Artisans</title> 
<meta name="viewport" content="width=device-width"> 

</head> 
<body> 
hi from body 
</body> 
</html> 

的問題是,當過我嘗試把它給了我一個 錯誤說

Unhandled Exception 
Message: 

View [master] doesn't exist. 

Location: 

C:\xampp\htdocs\laravel-laravel2\laravel\view.php on line 170 

Stack Trace: 

#0 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(107): Laravel\View->path('master') 
#1 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(218): Laravel\View-        >__construct('master', Array) 
#2 C:\xampp\htdocs\laravel-laravel2\laravel\helpers.php(526): Laravel\View::make('master', Array) 
#3 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(386) : eval()'d code(2): view('master') 
#4 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(386): eval() 
#5 C:\xampp\htdocs\laravel-laravel2\laravel\blade.php(71): Laravel\View->get() 
#6 [internal function]: Laravel\Blade::Laravel\{closure}(Object(Laravel\View)) 
#7 C:\xampp\htdocs\laravel-laravel2\laravel\event.php(199): call_user_func_array(Object(Closure), Array) 
#8 C:\xampp\htdocs\laravel-laravel2\laravel\event.php(138): Laravel\Event::fire('laravel.view.en...', Array, true) 
#9 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(348): Laravel\Event::until('laravel.view.en...', Array) 
#10 C:\xampp\htdocs\laravel-laravel2\laravel\view.php(590): Laravel\View->render() 
#11 C:\xampp\htdocs\laravel-laravel2\laravel\response.php(268): Laravel\View->__toString() 
#12 C:\xampp\htdocs\laravel-laravel2\laravel\laravel.php(180): Laravel\Response->render() 
#13 C:\xampp\htdocs\laravel-laravel2\public\index.php(34): require('C:\xampp\htdocs...') 
#14 {main} 
的index.blade.php
+0

也請張貼的控制器代碼。 – dualed

+0

@dhpratik,我有同樣的問題。你有沒有設法解決這個問題?你是怎麼做到的? --edit-- 我發現NetBeans沒有爲我創建的文件添加「.php」擴展名! –

回答

5

我有同樣的問題。這可能是您的錯誤,也可能是您的環境。無論哪種方式,請嘗試以下三件事情:

  • @layout('master')就在你的PHP文件的頂部 - 沒有白色 空間。

  • 確保您的主視圖標有master.blade.php - 沒有 首都。

  • 確保master.blade.php是在應用程序/視圖

注意:如果您在主視圖在不同的文件夾如應用程序/視圖/ some_folder正確調用它的方法是@layout('some_folder.master')

+1

***重要提示:** @layout調用必須始終位於文件的第一行,不帶空格或換行符。*(來自[文檔](http://laravel.com/docs/) views/templating#blade-layouts)) – dualed

+1

好吧,我已經完成了你說的,但它也給了同樣的錯誤。 – dhpratik

+0

其中是master.blade.php保存?它應該在應用程序/視圖 –

0

使用 @extends(「主」),而不是@layout(「主」)