afzalsabbir/menucrud

基于Laravel 6+的Backpack\CRUD的菜单项管理后台。

v3.0.2 2022-08-01 18:14 UTC

This package is auto-updated.

Last update: 2024-09-29 05:57:09 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

基于Laravel 5或Laravel 6的菜单项管理后台,使用AfzalSabbir\CRUD。添加、编辑、重新排序、嵌套、重命名菜单项并将它们链接到AfzalSabbir\PageManager页面、外部链接或自定义内部链接。

通常用于前端菜单,不用于后端。在MenuCRUD中添加菜单项不会在管理侧边栏中添加项目,尽管您可以轻松自定义Backpack\Base的sidebar.blade.php以显示数据库中的所有菜单项。

安全更新和重大变更

订阅BackpackNewsletter,以便了解有关任何安全更新、重大变更或主要功能的最新信息。我们每1-2个月发送一封电子邮件。

安装

首先需要安装AfzalSabbir\PageManager。如果您还没有这样做,请先这样做。

由于MenuCRUD只是一个Backpack\CRUD示例,您可以选择以下两种方式之一进行安装。

(A) 下载并将文件放置在您的应用程序中(推荐)

(B) 作为包

将文件作为包安装的唯一优点是您可能可以从更新中受益。但现实情况是,几乎没有(如果有的话)要做的错误修复,因此您可能永远不会需要更新它。

安装类型(A) - 下载

  1. 下载最新构建.

  2. 将'app'和'database'文件夹粘贴到您的项目中(合并它们)。不应该出现任何文件覆盖警告。

  3. 将粘贴文件中所有关于'Backpack\MenuCRUD\app'的提及替换为您的应用程序命名空间(如果未更改则为'App')

  • app/Http/Controllers/Admin/MenuItemCrudController.php
  • app/Models/MenuItem.php
  1. 运行迁移以获取所需的数据库表
php artisan migrate
  1. 将MenuCRUD添加到您的路由文件
Route::group(['prefix' => config('backpack.base.route_prefix', 'admin'), 'middleware' => ['web', 'auth'], 'namespace' => 'Admin'], function () {
    // Backpack\MenuCRUD
    Route::crud('menu-item', 'MenuItemCrudController');
});
  1. [可选] 在resources/views/vendor/backpack/base/inc/sidebar.blade.php或menu.blade.php中添加一个菜单项
<li class="nav-item"><a class="nav-link" href="{{ backpack_url('menu-item') }}"><i class="nav-icon la la-list"></i> <span>Menu</span></a></li>

安装类型(B) - 包

  1. 在终端中运行
composer require afzalsabbir/menucrud
  1. 发布迁移
php artisan vendor:publish --provider="Backpack\MenuCRUD\MenuCRUDServiceProvider"
  1. 运行迁移以获取所需的数据库表
php artisan migrate
  1. [可选] 在resources/views/vendor/backpack/base/inc/sidebar_content.blade.php或menu.blade.php中添加一个菜单项
php artisan backpack:add-sidebar-content "<li class='nav-item'><a class='nav-link' href='{{ backpack_url('menu-item') }}'><i class='nav-icon la la-list'></i> <span>Menu</span></a></li>"

在模板中的使用

这是一个简单的示例,您可以在前端中使用

您可以使用$item->children访问项目子级

@foreach (\App\MenuItem::getTree(); as $item)
  <a class="no-underline hover:underline p-3"
     href="{{$item->url()}}">
     {{ $item->name }}
  </a> 
@endforeach 

对于安装类型(B),将命名空间更改为Backpack\MenuCRUD\app\Models

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

测试

composer test

覆盖功能

如果您已使用安装类型A,并需要在项目中修改此功能

  • 创建一个routes/backpack/menucrud.php文件;包将看到它,并加载您的路由文件,而不是包中的路由文件;
  • 创建控制器/模型,它们扩展包中的控制器/模型,并在新路由文件中使用它们;
  • 修改新控制器/模型中的任何内容;

贡献

请参阅CONTRIBUTINGCONDUCT以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件tabacitu@backpackforlaravel.com联系,而不是使用问题跟踪器。

订阅BackpackNewsletter,以便了解有关任何安全更新、重大变更或主要功能的最新信息。我们每1-2个月发送一封电子邮件。

鸣谢

许可证

Backpack 非商业使用免费,商业使用49欧元/项目。请参阅许可证文件backpackforlaravel.com以获取更多信息。

雇佣我们

我们在 Laravel 上创建、打磨和维护管理面板上投入了超过10,000小时。我们开发了电子商务、电子学习、ERP系统、社交网络、支付网关等等。我们在管理面板上投入了如此多的精力,以至于我们创造了该领域最受欢迎的软件之一——仅仅是通过公开我们在项目中的重复工作。

如果您正在寻找一个开发者/团队来帮助您在 Laravel 上构建管理面板,那就无需再找。您将很难找到比这更有经验且热情的人。这就是我们的事业。联系我们 - 让我们看看我们是否可以合作