Skip to main content

blocs/admin: サイドメニューの設定

blocs/admin: サイドメニューの設定

サイドメニューは config/menu.php で定義します。

定義ファイルの形式

リンク先の設定

キー項目 説明
name メニューのルート名
argv ルート取得時の引数
url リンク先のURL(直接指定)
sub サブメニューのメニュー名

見栄えの設定

キー項目 説明
icon Font Awesomeのアイコン名
lang 多言語対応ラベル(言語ファイルを参照)
label ラベルを直接指定
line 第1階層のみ:メニューの上に区切り線を表示
index 第1階層のみ:メニューの上に小見出しを表示

表示条件の設定

キー項目 説明
role true にすると権限がなくても常に表示
guard 指定した Guard 条件を満たす場合のみ表示

サンプル

<?php

return [
    'root' => [
        0 => [
            'name' => 'home',
            'lang' => 'template:admin_menu_home',
            'icon' => 'fa-home',
            'role' => true,
        ],
        1 => [
            'line' => true,
            'lang' => 'template:admin_menu_top',
            'icon' => 'fa-cogs',
            'sub' => 'admin_menu',
            'role' => true,
        ],
    ],
    'admin_menu' => [
        0 => [
            'name' => 'admin.user.index',
            'label' => 'ユーザー管理',
            'icon' => 'fa-users',
        ],
    ],
];

Guardによるサイドメニューの表示制御

guard を設定することで、認証ガードに応じてメニューを出し分けられます。guard 未設定の場合はすべてのGuardで表示されます。

<?php

return [
    'root' => [
        0 => [
            'name' => 'home',
            'label' => '共通メニュー',
            'icon' => 'fa-home',
            'role' => true,
        ],
        1 => [
            'name' => 'home',
            'label' => '管理者メニュー',
            'icon' => 'fa-cogs',
            'role' => true,
            'guard' => 'web',
        ],
        2 => [
            'name' => 'home',
            'label' => 'メンバーメニュー',
            'icon' => 'fa-cogs',
            'role' => true,
            'guard' => 'member',
        ],
    ],
];