bugo/moonshine-title-with-slug 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

PHP Coverage Status

Русская версия

This package adds a title + permalink field group for MoonShine 4.

Preview

Features

  • TitleSlug::make(...) helper for building a title + slug fieldset
  • Slug field 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
  • titleAfterStateUpdated and slugAfterStateUpdated callbacks
  • 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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-22

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固