slossetti/laravel-menu-editor 问题修复 & 功能扩展

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

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

slossetti/laravel-menu-editor

最新稳定版本:1.0.0

Composer 安装命令:

composer require slossetti/laravel-menu-editor

包简介

Editor de menús para Laravel con Livewire 3

README 文档

README

Editor visual de menús con soporte para submenús, ordenamiento drag & drop, y control de permisos. Construido con Laravel, Livewire 3 y Wire Elements Modal.

🚀 Características

  • Crear, editar y eliminar ítems de menú
  • Submenús anidados
  • Reordenamiento con drag & drop (Livewire Sortable)
  • Soporte para distintos tipos de menú (ej: menu, admin)
  • Control de permisos (campo can por ítem)
  • Modal de edición con Wire Elements
  • Cache de menú con actualización dinámica

📆 Instalación

composer require slossetti/laravel-menu-editor

Publicar recursos (opcional)

php artisan vendor:publish --tag=views
php artisan vendor:publish --tag=migrations
php artisan vendor:publish --tag=config
php artisan vendor:publish --tag=styles

Ejecutar migraciones

php artisan migrate

🧹 Uso

Incluí el componente en cualquier vista:

<x-menu-editor::sidebar />

Si se tiene varios tipos de menu se puede especificar:

<x-menu-editor::sidebar type="Admin" />

El componente detecta muestra el primer tipo de menu si no es especificado y permite gestionarlo de forma visual.

Los ítems están cacheados automáticamente por tipo de menú (menu, admin, etc.).

Para poder tener el admin del menu. Se debe generar una ruta que cargue el componente livewire que muestra el admin del menu.

Adminstración del Menu

Debes agregar en tu vista la llamada al componente:

<livewire:menu-manager />

y una ruta para poder acceder:

Route::get('menu-editor', function () {
    return view('admin.menu-editor');
})->name('admin.menu-editor');

⚙ Configuración

El archivo config/menu-editor.php se puede usar para definir opciones globales del editor (en desarrollo).

return [

    'menu_model' => MenuEditor\Models\Menu::class,
    'default_type' => 'menu',
];

🎨 Estilos del menú

Este paquete incluye una hoja de estilos con clases específicas para el sidebar y sus elementos (sidebar-item, sidebar-active, sidebar-submenu, etc.).

🛠 Publicar el archivo CSS

Para usar los estilos por defecto, primero publicá el archivo:

php artisan vendor:publish --tag=styles

Esto copiará el archivo a:

resources/css/vendor/menu-editor.css

Luego, importalo en tu archivo principal (app.css):

@import 'vendor/menu-editor.css';

Y compilá los assets con:

npm run dev
# o
npm run build

🛠 Requisitos

  • Laravel 10+
  • PHP 8.1+
  • Livewire ^3.0
  • wire-elements/modal ^2.0
  • livewire-sortable ^1.0.0
  • Alpine.js (ya viene con Livewire 3)

Este paquete utiliza @livewire/sortable para permitir el ordenamiento drag & drop.
Debés instalarlo vía NPM:

npm install livewire-sortable

Luego, agregá la importación en tu archivo resources/js/app.js:

import 'livewire-sortable';

Y compilá tus assets:

npm run build

O para desarrollo:

npm run dev

📄 Licencia

MIT — Libre para uso y modificación.

统计信息

  • 总下载量: 9
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: Blade

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-15