Видеокурс Laravel: создание блога
Так как у нас появляется новый url, то требуется создать для него новый маршрут.Открываем файл routes.php и добавляем следующие строки:
Route::get('/posts/{slug}', [ 'as' => 'get-post', 'uses' => 'PostController@getPost' ]);
Как мы видим за функционал страницы просмотра поста будет отвечать PostController.php, а именно его метод getPost
class PostController extends BaseController { public function getPost($slug){ $post = Post::where('slug', '=', $slug)->firstOrFail(); return View::make('posts.show')->with('post', $post); } }Доработаем шаблон главной страницы - добавим ссылку на страницу просмотра проста.
@extends('layouts.default') @section('content') @if($posts->count()) @foreach($posts as $post) <article> <h2>{{ $post->title }}</h2> <p>{{ Str::limit($post->body, 50) }}</p> <a href='{{ URL::action('get-post', $post->slug) }}'>Читать далее...</a> </article> @endforeach @endif @stopСоздадим шаблон для страницы статьи блога \view\posts\show.blade.php
@extends('layouts.default') @section('content') <article> <h1>{{ $post->title }}</h1> <p>Pub on {{ $post->created_at->format('d.m.Y H:i:s')}}</p> <p>{{ $post->body }}</p> </article> @stop