Создадим контроллер.
php artisan make:controller
Admin/PostController
Он будет создан по
адресу: \app\Http\Controllers\Admin\PostController.php
Чтобы создать контроллер
с CRUD нужно
написать:
php artisan
make:controller Admin/PostController —resource
Закомментируем
все маршруты для админ-зоны.
Создадим
маршрут-ресурс.
Route::resource('admin/post',
'Admin\PostController');
Проверим
все существующие контроллеры, задав
команду в консоле: php artisan route:list
Идем в
\app\Http\Controllers\Admin\PostController.php
public
function index()
{
return view('admin.post.post');
}
{
return view('admin.post.post');
}
У
нас отображается сайт по адресу:
http://blog.my/admin/post
Переместим
этот вид в создание формы:
public
function create()
{
return view('admin.post.post');
}
{
return view('admin.post.post');
}
У
нас создание будет доступно по адресу:
http://blog.my/admin/post/create
Создадим другие
контроллеры.
php
artisan make:controller Admin/TagController --resource
php
artisan make:controller Admin/CategoryController --resource
Создадим
маршрут-ресурс в web.php
Route::resource('admin/tag',
'Admin\TagController');
Route::resource('admin/category', 'Admin\CategoryController');
Route::resource('admin/category', 'Admin\CategoryController');
Идем в
\app\Http\Controllers\Admin\TagController.php
public
function create()
{
return view('admin.tag.tag');
}
{
return view('admin.tag.tag');
}
Создание
тегов: http://blog.my/admin/tag/create
Идем в
\app\Http\Controllers\Admin\CategoryController.php
public
function create()
{
return view('admin.category.category');
}
{
return view('admin.category.category');
}
Создание
тегов: http://blog.my/admin/category/create
Создадим
контроллеры для пользовательской части.
php
artisan make:controller User/PostController
php
artisan make:controller User/HomeController
Откроем
\app\Http\Controllers\UserHomeController\HomeController.php
и
создадим функцию index()
public
function index() {
return view('user.blog');
}
return view('user.blog');
}
Откроем
\app\Http\Controllers\UserHomeController\PostController.php
и
создадим функцию index()
public function index() {
return view('user.post');
}
return view('user.post');
}
Идем в
\routes\web.php
Route::get('/',
'User\HomeController@index');
Route::get('post', 'User\PostController@index')->name('post');
Route::get('post', 'User\PostController@index')->name('post');
Чтобы
не писать в маршрутах User\ сгруппируем
их.
<?php
// User Routes
Route::group(['namespace' => 'User'], function() {
Route::get('/', 'HomeController@index');
Route::get('post', 'PostController@index')->name('post');
});
// Admin Routes
Route::group(['namespace' => 'Admin'], function() {
Route::resource('admin/post', 'PostController');
Route::resource('admin/tag', 'TagController');
Route::resource('admin/category', 'CategoryController');
});
Создадим контроллер для домашней админской страницы:
// User Routes
Route::group(['namespace' => 'User'], function() {
Route::get('/', 'HomeController@index');
Route::get('post', 'PostController@index')->name('post');
});
// Admin Routes
Route::group(['namespace' => 'Admin'], function() {
Route::resource('admin/post', 'PostController');
Route::resource('admin/tag', 'TagController');
Route::resource('admin/category', 'CategoryController');
});
Создадим контроллер для домашней админской страницы:
php
artisan make:controller Admin/HomeController
Напишем маршрут:
Напишем маршрут:
//
Admin Routes
Route::group(['namespace' => 'Admin'], function() {
Route::get('admin/home', 'HomeController@index')->name('admin.home');
Route::resource('admin/post', 'PostController');
Route::resource('admin/tag', 'TagController');
Route::resource('admin/category', 'CategoryController');
});
Route::group(['namespace' => 'Admin'], function() {
Route::get('admin/home', 'HomeController@index')->name('admin.home');
Route::resource('admin/post', 'PostController');
Route::resource('admin/tag', 'TagController');
Route::resource('admin/category', 'CategoryController');
});
Идем в контроллер
\app\Http\Controllers\Admin\HomeController.php
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class HomeController extends Controller
{
public function index() {
return view('admin/home');
}
}
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class HomeController extends Controller
{
public function index() {
return view('admin/home');
}
}
Поработаем
на ссылками в сайд-баре.
\resources\views\admin\layouts\sidebar.blade.php
<aside
class="main-sidebar">
<!-- sidebar: style can be found in sidebar.less -->
<section class="sidebar">
<!-- Sidebar user panel -->
<div class="user-panel">
<div class="pull-left image">
<img src="dist/img/user2-160x160.jpg"
class="img-circle" alt="User Image">
</div>
<div class="pull-left info">
<p>Anastasia</p>
</div>
</div>
<!-- search form -->
<form action="#" method="get"
class="sidebar-form">
<div class="input-group">
<input type="text" name="q"
class="form-control" placeholder="Search...">
<span class="input-group-btn">
<button type="submit" name="search"
id="search-btn" class="btn btn-flat"><i
class="fa fa-search"></i>
</button>
</span>
</div>
</form>
<!-- /.search form -->
<!-- sidebar menu: : style can be found in sidebar.less -->
<ul class="sidebar-menu" data-widget="tree">
<li class="header">MAIN NAVIGATION</li>
<li class="active treeview">
<li class=""><a href="{{
route('post.index') }}"><i
class="fa fa-circle-o"></i> Posts</a></li>
<li class=""><a href="{{
route('category.index')
}}"><i class="fa fa-circle-o"></i>
Categories</a></li>
<li class=""><a href="{{
route('tag.index') }}"><i
class="fa fa-circle-o"></i> Tags</a></li>
<li class=""><a href="#"><i
class="fa fa-circle-o"></i> Users</a></li>
</li>
</ul>
</section>
<!-- /.sidebar -->
</aside>
Идем в контроллер
\app\Http\Controllers\Admin\PostController.php
public
function index()
{
return 'Yes';
}
{
return 'Yes';
}
Нажимаем
на ссылку Post и переходим
на страницу http://blog.my/admin/post
В папке
\resources\views\admin\post создаем
файл show.blade.php
@extends('admin.layouts.app')
@section('main-content')
<div
class="content-wrapper">
<!--
Content Header (Page header) -->
<section
class="content-header">
<h1>
Blank
page
<small>it
all starts here</small>
</h1>
<ol
class="breadcrumb">
<li><a
href="#"><i class="fa fa-dashboard"></i>
Home</a></li>
<li><a
href="#">Examples</a></li>
<li
class="active">Blank page</li>
</ol>
</section>
<!--
Main content -->
<section
class="content">
<!--
Default box -->
<div
class="box">
<div
class="box-header with-border">
<h3
class="box-title">Title</h3>
<div
class="box-tools pull-right">
<button
type="button" class="btn btn-box-tool"
data-widget="collapse" data-toggle="tooltip"
title="Collapse">
<i
class="fa fa-minus"></i></button>
<button
type="button" class="btn btn-box-tool"
data-widget="remove" data-toggle="tooltip"
title="Remove">
<i
class="fa fa-times"></i></button>
</div>
</div>
<div
class="box-body">
Start
creating your amazing application!
</div>
<!--
/.box-body -->
<div
class="box-footer">
Footer
</div>
<!--
/.box-footer-->
</div>
<!--
/.box -->
</section>
<!--
/.content -->
</div>
<!--
/.content-wrapper -->
@endsection
Перепишем
контроллер \app\Http\Controllers\Admin\PostController.php
public
function index()
{
return view('admin.post.show');
}
{
return view('admin.post.show');
}
Скопируем
файл файл show.blade.php
в папку шаблоном category и
tag.
Идем
в контроллер
\app\Http\Controllers\Admin\CategoryController.php
public
function index()
{
return view('admin.category.show');
}
{
return view('admin.category.show');
}
Идем
в контроллер \app\Http\Controllers\Admin\TagController.php
public
function index()
{
return view('admin.tag.show');
}
{
return view('admin.tag.show');
}
Создадим
контроллер пользователя.
php
artisan make:controller Admin/UserController --resource
Создадим
маршрут в web.php.
Route::resource('admin/user',
'UserController');
Идем
в контроллер
\app\Http\Controllers\Admin\UserController.php
public
function index()
{
return view('admin.user.show');
}
{
return view('admin.user.show');
}
public
function create()
{
return view('admin.user.create');
}
{
return view('admin.user.create');
}
Идем в папку
\resources\views\admin
Копируем
папку post и переименовываем
ее в user.
Переименовываем
файл в create.blade.php
Открываем
sidebar.blade.php и переделываем
ссылку.
<li
class=""><a href="{{ route('user.index')
}}"><i class="fa fa-circle-o"></i>
Users</a></li>
Создание
пользователя доступно по ссылке:
http://blog.my/admin/user/create
Комментариев нет:
Отправить комментарий