infinety-es / nova-menu-builder
Laravel Nova 菜单构建工具。
v2.0.1
2019-10-15 13:32 UTC
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2024-09-16 01:03:04 UTC
README
此工具允许您在 Laravel Nova 中创建菜单。
安装
您可以通过 composer 在使用 Nova 的 Laravel 应用中安装此包。
composer require infinety-es/nova-menu-builder
然后,您应该发布数据库表文件并迁移它。
php artisan vendor:publish --tag=menu-builder-migration php artisan migrate
使用方法
接下来,您必须将工具注册到 Nova 中。这通常在 NovaServiceProvider 的 tools 方法中完成。
// in app/Providers/NovaServiceProvider.php // ... public function tools() { return [ // ... new \Infinety\MenuBuilder\MenuBuilder(), ]; }
辅助函数
为您的 blade 提供了三个内置辅助函数
-
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"
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件apps@infinety.es而不是使用问题跟踪器。
Postcardware
您可以使用此包,但如果它进入您的生产环境,我们非常欢迎您从您的家乡寄给我们一张明信片,说明您正在使用我们的哪些包。
我们的地址是:Infinety - Calle Comedias, 8 Floor 3, Suite 5 46003 Valencia (Spain)。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。