PHP code example of jacquestrdx123 / vue-sidebar-menu
1. Go to this page and download the library: Download jacquestrdx123/vue-sidebar-menu library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jacquestrdx123 / vue-sidebar-menu example snippets
use JacquesTredoux\VueSidebarMenu\Services\MenuWebService;
use Inertia\Inertia;
class HandleInertiaRequests extends Middleware
{
public $menuService;
public function __construct(RootTemplateProvider $rootTemplateProvider)
{
$this->rootTemplateProvider = $rootTemplateProvider;
$this->menuService = app(MenuWebService::class);
}
public function share(Request $request): array
{
$user = $request->user();
return [
...parent::share($request),
'ziggy' => fn () => [
...(new Ziggy)->toArray(),
'location' => $request->url(),
],
'menu' => $this->menuService->getMenu($request->route()?->getName(), $user),
'favoriteMenuItems' => $this->menuService->getFavoriteMenuItems($user),
];
}
}
use JacquesTredoux\VueSidebarMenu\Models\MenuGroup;
use JacquesTredoux\VueSidebarMenu\Models\MenuItem;
// Create a menu group
$group = MenuGroup::create([
'key' => 'dashboard',
'label' => 'Dashboard',
'icon' => 'heroicon-o-home',
'sort_order' => 1,
'is_active' => true,
]);
// Create a menu item
MenuItem::create([
'menu_group_id' => $group->id,
'key' => 'main-dashboard',
'label' => 'Main Dashboard',
'icon' => 'heroicon-o-chart-bar',
'route' => 'vue.dashboard',
'permission_name' => 'view_any_dashboard', // Optional:
use JacquesTredoux\VueSidebarMenu\Models\UserFavoriteMenuItem;
public function favoriteMenuItems()
{
return $this->hasMany(UserFavoriteMenuItem::class);
}
public function getFavoriteMenuKeys()
{
return $this->favoriteMenuItems()->pluck('menu_key')->toArray();
}
MenuItem::create([
'icon' => 'home', // or 'heroicon-o-home'
// ...
]);