Как создать собственную страницу для создания записи в Laravel Moonshine?

Как создать кастомную страницу для создания категории в админке, используя Laravel Moonshine?
Изображение к вопросу
Изображение к вопросу
Изображение к вопросу
  • 6 октября 2023 г. 18:57
Ответы на вопрос 1
Для создания собственной страницы для создания записи в Laravel Moonshine, вы можете выполнить следующие шаги:

1. Создайте маршрут для страницы создания записи. В файле `routes/web.php` добавьте следующий код:

```php
Route::get('/create-post', 'PostController@create')->name('create-post');
Route::post('/create-post', 'PostController@store')->name('store-post');
```

2. Создайте контроллер `PostController`. Вы можете использовать команду Artisan для создания контроллера:

```bash
php artisan make:controller PostController
```

3. В контроллере `PostController` добавьте методы `create` и `store` для отображения страницы создания записи и сохранения новой записи соответственно:

```php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Post;

class PostController extends Controller
{
    public function create()
    {
        return view('posts.create');
    }

    public function store(Request $request)
    {
        // Валидация данных из формы создания записи
        $this->validate($request, [
            'title' => 'required',
            'content' => 'required',
        ]);

        // Создание новой записи
        $post = new Post();
        $post->title = $request->input('title');
        $post->content = $request->input('content');
        $post->save();

        return redirect()->route('posts.index');
    }
}
```

4. Создайте шаблон для страницы создания записи. В директории `resources/views/posts` создайте файл `create.blade.php` со следующим содержимым:

```html
@extends('layout')

@section('content')
    <h1>Создать запись</h1>

    <form action="{{ route('store-post') }}" method="post">
        @csrf
        <label for="title">Заголовок</label>
        <input type="text" name="title" id="title" required>
        <br>
        <label for="content">Содержание</label>
        <textarea name="content" id="content" required></textarea>
        <br>
        <button type="submit">Создать</button>
    </form>
@endsection
```

Теперь, если вы откроете страницу `/create-post` в браузере, вы увидите форму для создания новой записи.

Чтобы создать кастомную страницу для создания категории в админке, вы можете выполнить аналогичные шаги, только используйте соответствующие контроллеры и модели для работы с категориями. Например, вы можете создать контроллер `CategoryController` и соответствующую модель `Category`. Измените пути маршрута и методы контроллера соответственно.
Похожие вопросы