2 проблемы:
1) функция «Последние сообщения» в моем файле просмотра (для страницы одного сообщения) больше не отображает сообщения.
2) На странице статей, которая показывает все сообщения,посты без слагов не работают.когда я нажимаю на сообщение, оно перенаправляет на / статьи.Только сообщения с работой слагов.
У меня есть 2 вида URL для моих сообщений: слаг и URL.Различия?URL длиннее.Slug короче и используется для целей SEO.Почему бы не использовать только слизень?Потому что для некоторых постов я не хочу тратить время на создание пули.Данные в столбце слагов для этих постов пустые / пустые.Сгенерированный URL-адрес в порядке.Для других сообщений я хочу сделать слаг.
Вот мой код контроллера для сообщений.
Старая версия:
public function viewpost($url,$slug){
if ( empty($slug) ) {
$url ='articles/'.$url;
} else {
$url = 'articles/'.$slug;
}
$posts = posts::where('post_status', '')->get();
if ( empty($slug) ) {
$post = $posts->where('url', $url)->first();
} else {
$post = $posts->where('slug', $slug)->first();
}
if ( empty($post) )
return redirect()->back();
return view('viewpost')->with('post', $post)->with('posts', $posts);
}
Новая версия (измененная):
public function viewpost($url){
$posts = posts::where('post_status', '');
$post = $posts->where('url', $url)->orWhere('slug' , $url)->first();
if ( empty($post) )
return redirect()->back();
return view('viewpost')->with('post', $post)->with('posts', $posts);
}
Новый измененный файл контроллера сломал сообщения без слагов.
Вот файл представления для последних сообщений, которые сломались:
<h3>Recent Posts</h3>
@foreach($posts as $post)
<p><a href="{{ URL::to($post->url) }}"><img style="width:100px;" src="{{asset('thumbnails/'.$post->thumbnail)}}" class="responsive"></a><br>
<a href="{{ URL::to($post->url) }}">{{substr(($post->title),0,88)}}..
</a></p>
@endforeach
Код моих маршрутов:
Route::get('articles/{url}', 'postsController@viewpost');
Код моего файла просмотра для страницы сообщений, на которой отображаются все сообщения:
@foreach($post as $post)
<div class="col-md-4">
<div class="content">
@if(!empty($post->slug))
dd(11);
<a href="{{'articles/'.$post->slug}}" class="latest-heading">{{substr(($post->title),0,88)}}..</a>
@else
dd(22);
<a href="{{($post->url)}}" class="latest-heading">{{substr(($post->title),0,88)}}..</a>
@endif
<img style="padding: 5px; width:100%; height:218px;" src="{{asset('thumbnails/'.$post->thumbnail)}}" class="img-responsive">
</div>
</div>
@endforeach