Генерация слага

Для автоматической генерации слага в livewire компоненте нужно определить 2 дополнительных свойства:

  • fieldSourceSlug - поля источника для генерации слага

  • fieldSlug - поле слага

<?php

namespace App\Http\Livewire\Admin\Posts;

use App\Models\Post;
use WebVovan\RockCms\Http\Livewire\ResourceComponent;

class PostItem extends ResourceComponent
{
    public Post $resource;

    public string $resourceClass = Post::class;

    /**
     * Поле с источником слага
     * 
     * @var string 
     */
    public string $fieldSourceSlug = 'resource.title';

    /**
     * Поле слага
     * 
     * @var string 
     */
    public string $fieldSlug = 'resource.slug';

    // Правила валидации полей
    public function rules()
    {
        return [
            'resource.title' => 'string|required',
            'resource.slug' => 'string',
        ];
    }

    ...
}

Вывод полей в шаблоне:

<x-rock-cms::fields.input field="resource.title" title="Заголовок"/>
<x-rock-cms::fields.input field="resource.slug" title="Слаг"/>

Last updated