コード例 #1
0
ファイル: MenuController.php プロジェクト: notegame/asgardcms
 public function edit(Menu $menu)
 {
     Breadcrumbs::addCrumb(trans('menu::menu.breadcrumb.edit menu'));
     $menuItems = $this->menuItem->allRootsForMenu($menu->id);
     $menuStructure = $this->menuRenderer->renderForMenu($menu->id, $menuItems->nest());
     return view('menu::admin.menus.edit', compact('menu', 'menuStructure'));
 }
コード例 #2
0
ファイル: RootMenuItemCreator.php プロジェクト: Houbsi/Menu
 public function handle(MenuWasCreated $event)
 {
     $data = ['menu_id' => $event->menu->id, 'position' => 0, 'is_root' => true];
     foreach ($this->getEnabledLocales() as $locale) {
         $data[$locale]['title'] = 'root';
     }
     $this->menuItem->create($data);
 }
コード例 #3
0
ファイル: PublicMiddleware.php プロジェクト: Houbsi/Core
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure                 $next
  * @return mixed
  */
 public function handle($request, \Closure $next)
 {
     $locale = $this->request->segment(1) ?: App::getLocale();
     $item = $this->menuItem->findByUriInLanguage($this->request->segment(2), $locale);
     if ($this->isOffline($item)) {
         App::abort(404);
     }
     return $next($request);
 }
コード例 #4
0
ファイル: MenuItemController.php プロジェクト: Houbsi/Menu
 /**
  * Delete a menu item
  * @param Request $request
  * @return mixed
  */
 public function delete(Request $request)
 {
     $menuItem = $this->menuItem->find($request->get('menuitem'));
     if (!$menuItem) {
         return Response::json(['errors' => true]);
     }
     $this->menuItem->destroy($menuItem);
     return Response::json(['errors' => false]);
 }
コード例 #5
0
ファイル: MenuController.php プロジェクト: bitsoflove/Menu
 public function edit(Menu $menu)
 {
     $menuItems = $this->menuItem->allRootsForMenu($menu->id);
     $menuStructure = $this->menuRenderer->renderForMenu($menu->id, $menuItems->nest());
     $data = compact('menu', 'menuStructure');
     if (is_module_enabled('Site')) {
         $data['supportedLocales'] = \Site::current()->siteLocales->lists('title', 'locale')->toArray();
     }
     return view('menu::admin.menus.edit', $data);
 }
コード例 #6
0
 public function compose()
 {
     foreach ($this->menu->all() as $menu) {
         $menuTree = $this->menuItem->getTreeForMenu($menu->id);
         Menu::create($menu->name, function (Builder $menu) use($menuTree) {
             foreach ($menuTree as $menuItem) {
                 $this->addItemToMenu($menuItem, $menu);
             }
         });
     }
 }
コード例 #7
0
ファイル: MenuItemController.php プロジェクト: Houbsi/Menu
 public function destroy(Menu $menu, Menuitem $menuItem)
 {
     $this->menuItem->destroy($menuItem);
     flash(trans('menu::messages.menuitem deleted'));
     return redirect()->route('admin.menu.menu.edit', [$menu->id]);
 }
コード例 #8
0
 /**
  * @param  string $uri
  * @param  string $locale
  * @return object
  */
 public function findByUriInLanguage($uri, $locale)
 {
     return $this->cache->tags($this->entityName, 'global')->remember("{$this->locale}.{$this->entityName}.findByUriInLanguage.{$uri}.{$locale}", $this->cacheTime, function () use($uri, $locale) {
         return $this->repository->findByUriInLanguage($uri, $locale);
     });
 }
コード例 #9
0
ファイル: MenuOrdener.php プロジェクト: ruscon/Menu
 /**
  * Set the given parent id on the given menu item
  *
  * @param object $item
  * @param int    $parent_id
  */
 private function makeItemChildOf($item, $parent_id)
 {
     $this->menuItemRepository->update($item, compact('parent_id'));
 }