bugo/moonshine-title-with-slug
最新稳定版本:0.1
Composer 安装命令:
composer require bugo/moonshine-title-with-slug
包简介
Title + slug field for MoonShine with auto-slug generation, live permalink preview, and inline editing.
README 文档
README
This package adds a title + permalink field group for MoonShine 4.
Features
TitleSlug::make(...)helper for building a title + slug fieldsetSlugfield with permalink preview- automatic slug generation from title
- manual slug editing with edit/reset/cancel controls
- auto-slug stops after manual slug editing
- create/edit context detection from the current model
- optional visit link with custom label or custom route URL
- configurable host/path visibility in permalink preview
- configurable title and slug labels
- configurable slug postfix
- custom slugifier callback
titleAfterStateUpdatedandslugAfterStateUpdatedcallbacks- custom title field wrapper callback
- package config with default title field, slug field, and host
- translations and publishable assets/config
Installation
composer require bugo/moonshine-title-with-slug
Optionally publish config and assets:
php artisan vendor:publish --tag=moonshine-title-with-slug-config php artisan vendor:publish --tag=moonshine-title-with-slug-assets
Basic usage
use Bugo\MoonShine\TitleWithSlug\TitleSlug; TitleSlug::make( titleColumn: 'custom_title', slugColumn: 'custom_slug', );
Example options
TitleSlug::make( titleColumn: 'custom_title', slugColumn: 'custom_slug', ) ->titleOptions(label: 'Title') ->slugOptions( label: 'Permalink', labelPostfix: '.html', ) ->urlOptions( path: '/posts/', hostVisible: false, visitLinkLabel: 'Open', );
Validation
Use MoonShine page validation rules for server-side checks.
use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Support\Stringable; use Illuminate\Validation\Rule; use MoonShine\Contracts\Core\TypeCasts\DataWrapperContract; protected function rules(DataWrapperContract $item): array { return [ 'title' => ['required'], 'slug' => [ 'required', 'regex:/^[a-z-]+$/', Rule::unique($item->getOriginal()::class, 'slug') ->ignoreModel($item->getOriginal()), ], ]; }
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-22