Быстрое создание нового раздела

Для примера добавим в админ-панель новый раздел для работы с новостями.

Модель

Добавим новую модель Post.

Schema::create('posts', function (Blueprint $table) {
    $table->id();
    $table->string('title');
    $table->text('desc');
    $table->timestamps();
});

Роуты

Добавим роуты для вывода списка, просмотра, редактирования и создания новости.

Подробнее про настройку роутов здесь.

// routes/admin.php

Route::get('/admin/posts', function () {
    return view('admin.posts.list');
})->name('posts.list');

Route::get('/admin/posts/{post}/edit', function (Post $post) {
    return view('admin.posts.edit')
        ->with([
            'model' => $post
        ]);
})->name('posts.edit');

Route::get('/admin/posts/{post}/show', function (Post $post) {
    return view('admin.posts.show')
        ->with([
            'model' => $post
        ]);
})->name('posts.show');

Route::get('/admin/posts/create', function () {
    return view('admin.posts.create')
        ->with([
            'model' => new Post()
        ]);
})->name('posts.create');

Шаблоны

список новостей

редактирование новости

создание новости

просмотр новости

Меню

Добавим новый раздел в меню.

Подробнее про настройку меню здесь.

Хлебные крошки

Добавим новый файл с хлебными крошками.

Подробнее про настройку хлебных крошек здесь.

Вывод списка новостей

Подробнее про настройку вывода списка ресурсов здесь.

Создадим livewire компонент для вывода списка новостей.

Код компонента:

Редактирование и создание новости

Подробнее про настройку создания и редактирования ресурса здесь.

Создадим livewire компонент для редактирования и создания новости.

Код компонента:

Шаблон компонента:

Просмотр новости

Создадим livewire компонент для просмотра новости.

Код компонента:

Шаблон компонента:

Last updated