Вот мой маршрут
Route::get('test', array('uses'=>'TestController@showTest'));
Вот мой контроллер:
class TestCOntroller extends \BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function showTest()
{
return View::make('test.Test');
}}
Вот мой взгляд / test / Test.blade.php
@section('content')
<h1>HTML Ipsum Presents</h1>
@stop
когда я пытался получить доступ к URL, он ничего не показывает. Что я должен делать?
В соответствии с вашими Route
как указано ниже:
Route::get('test', array('uses'=>'TestController@showTest'));
Ваш Controller
должно быть:
class TestController extends \BaseController {
public function showTest()
{
return View::make('test.test');
}
}
Так что в этом случае Blade View
должно быть что-то вроде этого:
// app/views/test/test.blade.php
@extends('layouts.master')
@section('content')
<h1>HTML Ipsum Presents</h1>
@stop
Убедитесь, что у вас есть layouts
папка в views
папка и содержит master.blade.php
файл в качестве основного Layout
и это должно быть что-то вроде этого:
<!-- app/views/layouts/master.blade.php -->
<html>
<head>
<title>Test Site</title>
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
</html>
Таким образом, всякий раз, когда вы создаете представление, расширяя master.blade.php
, html/text
содержащиеся в @section('content')
а также @stop
в вашем child-view
будет сброшен на место @yield
в вашем master.blade.php
файла, поэтому всегда расширяйте основной шаблон, чтобы создать child-view
с помощью @extend('layouts.master')
, Читать дальше на Laravel
сайт о шаблонирование.
@section('content')
определяет блок контента, который вы никогда не отображаете, вы в основном устанавливаете переменную и никогда не выводите ее на экран.
Сделайте еще один шаблон с названием layout или что-то в этом роде.
<!DOCTYPE html>
<html>
<head>
<title>hooray!</title>
</head>
<body>
@yield('content')
</body>
</html>
и положи @extends('layout')
в верхней части вашего текущего шаблона.
Ваш контент должен появиться.
Вы не расширяете ни один другой шаблон блэйда, поэтому здесь нет раздела content
определены.
Вы делаете свой test/Test
просмотрите представление верхнего уровня, где вам нужно определить всю структуру вашего HTML.
Попробуйте создать новый вид, что-то вроде app/view/layouts/master.blade.php
и добавьте этот контент в:
<!DOCTYPE html>
<html>
<head></head>
<body>
@yield('content', '')
</body>
</html>
Измените ваш тестовый вид, чтобы включить его в верхней части:
@extends('layouts.master')