/** * Build a level of menu * * @param array $config * @param Caffeinated\Menus\Builder $menu * @param string|null $namespace * @return void */ public function build(array $config, Builder $menu, $namespace = null) { foreach ($config as $key => $value) { $route = null; if (isset($value['route'])) { $route = ['route' => $value['route']]; } if (isset($value['url'])) { $route = $value['url']; } if ($namespace) { $menu->get(strtolower($namespace))->add($key, $route)->data('permissions', isset($value['permissions']) ? $value['permissions'] : null); } else { $menu->add($key, $route)->data('permissions', isset($value['permissions']) ? $value['permissions'] : null); } if (isset($value['children'])) { $this->build($value['children'], $menu, $key); } } }