私はKartikのSideNav(http://demos.krajee.com/sidenav-demo/profile/default)を正しく動作させるために、コントローラ/アクションのURLを設定していますが、アクティブなオプションを設定してメニューを開いたままにして正しいメニュー項目が選択されたままになります。Yii2 Kartik SideNavアクティブなオプションを設定する方法
'アクティブ' => 'コントローラ/アクション/デフォルト#デモ'と同様に、 'アクティブ' => 'コントローラ/アクション'(下記参照)を設定しようとしましたが、役に立たないです。私はそれを 'employee/employee-dashboard/default#demo'として設定すると、そのタブで同じ方法で他のタブを強調表示しますが、他のタブは変更しません。オリジナルは 'アクティブ' => 'ホーム'に設定されていましたが、それはただのアクションだと思いますが、それは私にとってもうまくいきませんでした。
$type = SideNav::TYPE_DEFAULT;
$heading = '<i class="glyphicon glyphicon-cog"></i> Employee Menu';
$item = '/employee/employee-dashboard/default#demo';
echo SideNav::widget([
'type' => $type,
'encodeLabels' => false,
'heading' => $heading,
'items' => [
// Important: you need to specify url as 'controller/action',
// not just as 'controller' even if default action is used.
//
// NOTE: The variable `$item` is specific to this demo page that determines
// which menu item will be activated. You need to accordingly define and pass
// such variables to your view object to handle such logic in your application
// (to determine the active status).
//
['label' => 'Dashboard', 'icon' => 'home', 'url' => Url::to(['/employee/employee-dashboard', 'type'=>$type]), 'active' => ($item == '/employee/employee-dashboard/default#demo')]
['label' => 'Paycheck Info', 'icon' => 'book', 'items' => [
['label' => '<span class="pull-right badge">10</span> W2 Forms', 'url' => Url::to(['/employee/w2-form', 'type'=>$type]), 'active' => ($item == 'w2-form')],
ちょっとした説明が必要です。メニュー行(ドロップダウンメニュー)を「アクティブ」に設定したい場合は、すべての子と一緒に開いておく必要がありますか? –
はい。適切な操作については、デモページ(http://demos.krajee.com/sidenav-demo/profile/default)を参照してください。現在、どのメニュー項目もクリックすると正しいページに移動しますが、メニュー項目は強調表示されず、子メニューを含む展開メニューの場合はメニューが閉じます。ありがとう。 – Marko