51 lines
1.5 KiB
PHP
51 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Advert;
|
|
use App\Models\Category;
|
|
|
|
class CategoryController extends Controller
|
|
{
|
|
|
|
/**
|
|
* 显示分类
|
|
*
|
|
* @param Category $category [description]
|
|
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View [type] [description]
|
|
*/
|
|
public function index(Category $category)
|
|
{
|
|
if ($category->type == Category::TYPE_SHOW && $category->article_id) {
|
|
return redirect("articles/".$category->article_id);
|
|
} else {
|
|
$directory = 'category';
|
|
$template = 'show';
|
|
if ($category->template) {
|
|
$template = $category->template;
|
|
}
|
|
|
|
if ($category->type == Category::TYPE_PERSON) {
|
|
$directory = 'resume';
|
|
}
|
|
|
|
$articles = $category->relations(Category::TYPE_ARTICLE)
|
|
->where('status', 1)
|
|
->latest('sort')
|
|
->latest('created_at')
|
|
->paginate();
|
|
|
|
$parent = $category;
|
|
if (! $category->getChildrenCount() && $category->parent) {
|
|
|
|
$parent = $category->parent;
|
|
}
|
|
|
|
$advert = Advert::where('category_id', 73)->first();
|
|
|
|
return view($directory.'.'.$template, compact('articles', 'category', 'parent', 'advert'));
|
|
}
|
|
}
|
|
|
|
}
|