vlinde/nova-menu-builder

Laravel Nova 的菜单构建工具。

安装: 2

依赖者: 0

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 25

语言:Vue

v2.0.2 2021-02-15 12:41 UTC

This package is auto-updated.

Last update: 2024-09-15 20:40:56 UTC


README

该工具允许您在 Laravel Nova 中创建菜单

menu builder Home

Menu Builder Items

安装

您可以通过 composer 将此包安装到使用 Nova 的 Laravel 应用程序中

composer require infinety-es/nova-menu-builder

然后您应该发布数据库表文件并迁移它

php artisan vendor:publish --tag=menu-builder-migration
php artisan migrate

使用方法

接下来,您必须将工具注册到 Nova 中。这通常在 NovaServiceProvider 的工具方法中完成。

// in app/Providers/NovaServiceProvider.php

// ...

public function tools()
{
    return [
        // ...
        new \Infinety\MenuBuilder\MenuBuilder(),
    ];
}

辅助函数

为您的 blades 内置了三个辅助函数

  • menu_builder('slug').

    	Creates an html menu for given slug. Extra options are not required. By default tags are `ul` and `li`, and without html classes.
    
{!! menu_builder('main') !!}

//or

{!! menu_builder('main', 'parent-class', 'child-class', 'dl', 'dd') !!}
  • menu_name('slug').

    	Returns the name of the menu for a given slug.
    
{{ menu_name('main') }}
  • menu_json('slug').

    	Returns a json with all items for given slug.
    
{!! menu_json('main') !!}

使用 blade 的示例。

@foreach (getMenuBySlug('header')->parentItems as $menuItem)
    @include('menu-builder::menu-item', [
      'menu' => $menuItem,
      'active_top_class' => 'active',
      'active_child_class' => 'active',
    ])
@endforeach

本地化

在 /resources/lang/vendor/nova 中相应地设置您的翻译,位于 xx.json 文件。

"Menu Builder": "Menu Builder",
"Menu Items": "Menu Items",
"Add item": "Add item",
"Delete item": "Delete item",
"Are you sure to delete this menu item?": "Are you sure to delete this menu item?",
"Take care. All children items will be deleted cause you're deleting the parent.": "Take care. All children items will be deleted cause you're deleting the parent.",
"Cancel": "Cancel",
"Yes, remove!": "Yes, remove!",
"Add Menu item": "Add Menu item",
"Name": "Name",
"Slug": "Slug",
"Menu Helper": "Menu Helper",
"Link type": "Link type",
"Choose an option": "Choose an option",
"Static Url": "Static Url",
"Dynamic Route": "Dynamic Route",
"URL": "URL",
"Route": "Route",
"Parameters": "Parameters",
"Open in": "Open in",
"Same window": "Same window",
"New window": "New window",
"Classes": "Classes",
"Create menu item": "Create menu item",
"Update menu item": "Update menu item",
"Item removed successfully!": "Item removed successfully!",
"Item created!": "Item created!",
"Item updated!": "Item updated!",
"Menu reordered!": "Menu reordered!",
"Error on server!": "Error on server!",
"Enabled": "Enabled",
"Disabled": "Disabled"

变更日志

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

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何安全问题,请通过电子邮件 apps@infinety.es 报告,而不是使用问题跟踪器。

Postcardware

您可以使用此包,但如果它进入了您的生产环境,我们非常感激您从家乡寄给我们一张明信片,提到您正在使用我们的哪个包。

我们的地址是:Infinety - Calle Comedias, 8 Floor 3, Suite 5 46003 Valencia (Spain)。

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件