kregel/menu

此包已被废弃且不再维护。未建议替代包。
此包最新版本(v1.1.1)没有可用的许可证信息。

这将自动根据您的配置文件构建/生成菜单。

v1.1.1 2016-09-02 02:55 UTC

This package is auto-updated.

Last update: 2020-01-29 03:34:11 UTC


README

downloads

这是什么?

这是一个以Laravel和Bootstrap为基础构建的菜单生成器。

演示

您可以在我的网站上看到一个演示:点击访问

设置

  1. composer require kregel/menu 或在您的 composer.json 文件中添加 "kregel/menu": "dev-master"
  2. 使用您的 config/app.php 文件注册服务提供者。
 'providers' => [
   ...,
   Kregel\Menu\MenuServiceProvider::class,
   ...,
 ]
  1. 发布我们的配置
php artisan vendor:publish --provider="Kregel\Menu\MenuServiceProvider"
  1. 将存储您当前导航设置的任何 blade 文件,只需添加一行代码即可替换整个菜单系统,并且无论您从哪里开始菜单,只需将其替换为以下内容即可。
@include('menu::main.bootstrap')

以后将支持其他框架,目前正在开发 Materialize 框架。

配置

因此,现在您已经设置了菜单系统,建议您编辑您的配置。如何操作?您可能会问。有太多内容,而且非常复杂,我不知道从哪里开始!

好吧... 让我来帮您解决。

品牌名称

有一些事情您确实应该更改。例如,brand.name 应该更改为您的品牌名称。无论是您的公司名称、产品/项目名称还是您的姓名。您不需要使用 font-awesome(但您完全可以使用)。

主题

我通常不会更改主题;然而,您可以将它更改为您想要的任何内容。

条目

“items”部分中的数组包含将在每个页面上找到的所有元素,无论用户是否已登录。

登录

此功能默认启用。位于“登录”部分中的元素。这些元素仅在最终用户未登录时显示。

在“登出”部分,默认实际上是下拉菜单。其标题为“我的账户”,有一个标题为“设置”的分隔符,然后有一个名为“设置”的元素,空的单引号是默认框架区分何时使用分隔符头部以及只是分隔符的方式。

自定义 CSS 框架!

在下面有更详细的描述,但获取此功能的最佳方法是创建一个新的框架处理器。这可以通过创建一个匿名函数并让它返回一个新类来实现。

你没有我的框架,你有什么资格?

立刻停下来... 创建你自己的框架处理器!

如何操作?

向下看...

我该如何为这个菜单系统创建自己的框架?你所需要做的就是在某个地方创建一个具有与下面相同方法的类。

class MyFramework extends Kregel\Menu\Interfaces\AbstractMenu{
    public function add(Array $options)
    {
		// This will add each actual menu item to the menu variable
    }
    public function addDropdown($dropdown_name, $elements)
    {
		// This will build a dropdown ($elements should be an arary 
    }
    public function devour()
    {
		// Should return the menu item
    }
    public function buildMenu($menu)
    {
		// This should build the actual menu. For the config file I have
		// And you would call it like 
		// $menu->using('myframework')->buildMenu(['Home'=>'/']->devour()
    }
    public function config()
    {
    	// This would be how you handle your framework pulling form the config file.
    }
}

好的... 现在怎么办...?

嗯... 现在你可以根据自己的需求定制它了。我建议查看默认的bootstrap处理器,如果你有任何问题,可以给我发邮件! :)