解決yii2左側(cè)菜單子級(jí)無法高亮問題的方法,yii2菜單子_PHP教程
Jul 12, 2016 am 08:53 AM解決yii2左側(cè)菜單子級(jí)無法高亮問題的方法,yii2菜單子
我們先來看看具體問題。
添加角色是屬于角色這個(gè)菜單的,如何在執(zhí)行添加角色這個(gè)操作時(shí)讓角色這個(gè)菜單處于選中狀態(tài)呢?
adminlte左側(cè)導(dǎo)航的Create,View等action不能定位到index的模塊(左側(cè)二級(jí)導(dǎo)航不能展開定位)
如果你是按照我們上文的教程來的,那接下來所要說明的問題應(yīng)該不是問題,先來看看我們當(dāng)時(shí)是怎么處理左側(cè)菜單menu的
use mdm\admin\components\MenuHelper; <?php $callback = function($menu){ //鑒于篇幅有限,這里的代碼省略,源碼見于原文 }; //這里我們對(duì)一開始寫的菜單menu進(jìn)行了優(yōu)化 echo dmstr\widgets\Menu::widget( [ 'options' => ['class' => 'sidebar-menu'], 'items' => MenuHelper::getAssignedMenu(Yii::$app->user->id, null, $callback), ] ); ?>
看到這里,我們不妨打開文件dmstr\widgets\Menu看看這里是怎么實(shí)現(xiàn)左側(cè)菜單選中這一困擾眾多同學(xué)的問題。
protected function isItemActive($item) { if (isset($item['url']) && is_array($item['url']) && isset($item['url'][0])) { //...... if ($arrayRoute[0] !== $arrayThisRoute[0]) { return false; } if (isset($arrayRoute[1]) && $arrayRoute[1] !== $arrayThisRoute[1]) { return false; } if (isset($arrayRoute[2]) && $arrayRoute[2] !== $arrayThisRoute[2]) { return false; } //...... return true; } return false; }
看吧,看上面的代碼,也就是說左側(cè)菜單激活的情況是當(dāng)前路由完全等于菜單路由時(shí)菜單才進(jìn)行激活。
鑒于我們一開始談到的不少小伙伴疑惑的兩個(gè)問題,我們這里只需要稍稍調(diào)整下代碼,判斷控制到controller而非action即可,但是源碼文件我們又不能修改,怎么辦好呢?天熱,涼拌。
這里我們拷貝dmstr\widgets\Menu.php文件到backend\components\Menu.php,然后按照下面的方法修改isItemActive方法即可
protected function isItemActive($item) { if (isset($item['url']) && is_array($item['url']) && isset($item['url'][0])) { //...... //改寫了路由的規(guī)則,是否高亮判斷到controller而非action $routeCount = count($arrayRoute); if ($routeCount == 2) { if ($arrayRoute[0] !== $arrayThisRoute[0]) { return false; } } elseif ($routeCount == 3) { if ($arrayRoute[0] !== $arrayThisRoute[0]) { return false; } if (isset($arrayRoute[1]) && $arrayRoute[1] !== $arrayThisRoute[1]) { return false; } } else { return false; } // if ($arrayRoute[0] !== $arrayThisRoute[0]) { // return false; // } // if (isset($arrayRoute[1]) && $arrayRoute[1] !== $arrayThisRoute[1]) { // return false; // } // if (isset($arrayRoute[2]) && $arrayRoute[2] !== $arrayThisRoute[2]) { // return false; // } //...... return true; } return false; }
大功告成,現(xiàn)在我們左側(cè)的菜單引用的Menu文件修改其指向到backend\components\Menu
use backend\components\Menu; echo Menu::widget([ 'options' => ['class' => 'sidebar-menu'], 'items' => MenuHelper::getAssignedMenu(Yii::$app->user->id, null, $callback), ]);
快去試試看我們的問題解決沒有吧。

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

In Windows 11 wurde das Startmenü neu gestaltet und verfügt über einen vereinfachten Satz von Apps, die in einem Seitenraster angeordnet sind, im Gegensatz zum Vorg?nger, der Ordner, Apps und Apps im Startmenü hatte. Sie k?nnen das Startmenü-Layout anpassen und es auf andere Windows-Ger?te importieren und exportieren, um es nach Ihren Wünschen zu personalisieren. In dieser Anleitung besprechen wir Schritt-für-Schritt-Anleitungen zum Importieren des Startlayouts, um das Standardlayout unter Windows 11 anzupassen. Was ist Import-StartLayout in Windows 11? ?Startlayout importieren“ ist ein Cmdlet, das in Windows 10 und früheren Versionen zum Importieren von Anpassungen für das Startmenü verwendet wird

Eine der nervigsten ?nderungen, die wir Benutzer nie wollen, ist die Aufnahme von ?Weitere Optionen anzeigen“ in das Kontextmenü mit der rechten Maustaste. Sie k?nnen es jedoch entfernen und erhalten das klassische Kontextmenü in Windows 11 zurück. Kein Mehrfachklicken und Suchen nach diesen ZIP-Verknüpfungen in Kontextmenüs mehr. Befolgen Sie diese Anleitung, um unter Windows 11 zu einem vollst?ndigen Kontextmenü mit der rechten Maustaste zurückzukehren. Fix 1 – CLSID manuell anpassen Dies ist die einzige manuelle Methode auf unserer Liste. Sie müssen bestimmte Schlüssel oder Werte im Registrierungseditor anpassen, um dieses Problem zu beheben. Hinweis – Registrierungs?nderungen wie diese sind sehr sicher und funktionieren problemlos. Daher sollten Sie eine Sicherung der Registrierung erstellen, bevor Sie dies auf Ihrem System versuchen. Schritt 1 – Probieren Sie es aus

Die Schritte zum Implementieren einer Menünavigationsleiste mit Schatteneffekt mithilfe von reinem CSS erfordern spezifische Codebeispiele. Im Webdesign ist die Menünavigationsleiste ein sehr h?ufiges Element. Durch das Hinzufügen eines Schatteneffekts zur Menünavigationsleiste k?nnen Sie nicht nur deren ?sthetik verbessern, sondern auch das Benutzererlebnis verbessern. In diesem Artikel verwenden wir reines CSS, um eine Menünavigationsleiste mit Schatteneffekt zu implementieren, und stellen spezifische Codebeispiele als Referenz bereit. Die Implementierungsschritte sind wie folgt: HTML-Struktur erstellen Zuerst müssen wir eine grundlegende HTML-Struktur erstellen, um die Menünavigationsleiste aufzunehmen. von

Standardm??ig verfügt das Kontextmenü von Windows 11 per Rechtsklick über eine Option namens ?Im Windows-Terminal ?ffnen“. Dies ist eine sehr nützliche Funktion, die es Benutzern erm?glicht, Windows Terminal an einem bestimmten Ort zu ?ffnen. Wenn Sie beispielsweise mit der rechten Maustaste auf einen Ordner klicken und die Option ?Im Windows-Terminal ?ffnen“ ausw?hlen, wird Windows-Terminal gestartet und legt diesen bestimmten Speicherort als aktuelles Arbeitsverzeichnis fest. Obwohl dies eine gro?artige Funktion ist, findet nicht jeder Verwendung für diese Funktion. Einige Benutzer m?chten diese Option m?glicherweise einfach nicht in ihrem Rechtsklick-Kontextmenü haben und m?chten sie entfernen, um ihr Rechtsklick-Kontextmenü aufzur?umen.

Wie wir alle wissen, hat Microsoft das Startmenü im Win11-System überarbeitet. Das neue Startmenü wird nicht nur in der Mitte angezeigt, sondern ?ndert auch den Anzeigemodus, l?scht die herk?mmlichen Kacheln und alle Anwendungen werden als Symbole angezeigt, aber viele Freunde Ich wei? nicht, wie ich es einschalten soll, also schauen wir es uns mit dem Editor an. So ?ffnen Sie das neue Startmenü in Win11 1. Das Startmenü kommt mit Win11, wir müssen es nicht manuell ?ffnen. 2. Wenn Sie nach der Installation von Win11 feststellen, dass es keine neue Version des Startmenüs gibt, müssen Sie das falsche Win11 heruntergeladen haben. 3. Wenn Sie diese neue Version des Startmenüs verwenden m?chten, müssen Sie Win11 erneut herunterladen 4. Herunterladen Sobald Sie fertig sind, laden Sie einfach die Datei und führen Sie sie aus

Immer mehr Menschen erleben das neue und verbesserte Microsoft-Betriebssystem, aber es scheint, dass einige von ihnen immer noch das Design der alten Schule bevorzugen. Es besteht kein Zweifel, dass das neue Kontextmenü eine beeindruckende Konsistenz in Windows 11 bringt. Wenn wir Windows 10 betrachten, sorgt die Tatsache, dass jede Anwendung über ein eigenes Kontextmenüelement verfügt, bei manchen Menschen für gro?e Verwirrung. Von der transparenten Taskleiste von Windows 11 bis zu den abgerundeten Ecken ist dieses Betriebssystem ein Meisterwerk. In diesem Zusammenhang sind Benutzer auf der ganzen Welt daran interessiert, zu erfahren, wie sie das Menü ?Weitere Optionen anzeigen“ von Windows 11 schnell deaktivieren k?nnen. Der Vorgang ist ziemlich einfach. Wenn Sie also im selben Boot sitzen, sollten Sie ihn unbedingt gründlich ausprobieren

So entfernen Sie jquery aus yii2: 1. Bearbeiten Sie die Datei AppAsset.php und kommentieren Sie den Wert ?yii\web\YiiAsset“ in der Variablen $depends aus. 2. Bearbeiten Sie die Datei main.php und fügen Sie die Konfiguration als ?'yii“ hinzu. unter dem Feld ?components“ \web\JqueryAsset' => ['js' => [],'sourcePath' => null,]“, um das JQuery-Skript zu entfernen.

Mit der nativen Nachrichten-App auf dem iPhone k?nnen Sie gesendete Texte ganz einfach bearbeiten. Auf diese Weise k?nnen Sie Ihre Fehler und Zeichensetzung korrigieren und sogar falsche Phrasen/W?rter, die m?glicherweise in Ihren Text übernommen wurden, automatisch korrigieren. In diesem Artikel erfahren Sie, wie Sie Nachrichten auf dem iPhone bearbeiten. So bearbeiten Sie Nachrichten auf dem iPhone. Erforderlich: iPhone mit iOS16 oder h?her. Sie k?nnen iMessage-Text nur in der Nachrichten-App bearbeiten, und zwar nur innerhalb von 15 Minuten nach dem Senden des Originaltexts. Nicht-iMessage-Text wird nicht unterstützt und kann daher nicht abgerufen oder bearbeitet werden. Starten Sie die Nachrichten-App auf Ihrem iPhone. W?hlen Sie unter ?Nachrichten“ die Konversation aus, deren Nachricht Sie bearbeiten m?chten
