国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
yii2 左側(cè)菜單子級無法高亮的問題,yii2菜單子
首頁 後端開發(fā) php教程 yii2 左側(cè)菜單子級無法高亮的問題,yii2菜單子_PHP教程

yii2 左側(cè)菜單子級無法高亮的問題,yii2菜單子_PHP教程

Jul 12, 2016 am 08:53 AM
yii2 左側(cè) 問題

yii2 左側(cè)菜單子級無法高亮的問題,yii2菜單子

作者:白狼 出處:http://www.manks.top/question/20160508000001.html?本文版權(quán)歸作者,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。

前面我們寫的文章yii2 rbac權(quán)限控制之菜單menu詳細(xì)教程,很完美,也很實用,鑒于不少小伙伴咨詢的問題,這里做一個統(tǒng)一的說明。我們先來看看具體問題。

添加角色是屬于角色這個菜單的,如何在執(zhí)行添加角色這個操作時讓角色這個菜單處于選中狀態(tài)呢?
adminlte左側(cè)導(dǎo)航的Create,View等action不能定位到index的模塊(左側(cè)二級導(dǎo)航不能展開定位)
如果你是按照我們上文的教程來的,那接下來所要說明的問題應(yīng)該不是問題,先來看看我們當(dāng)時是怎么處理左側(cè)菜單menu的

<span>use</span><span> mdm\admin\components\MenuHelper; 
</span><?<span>php 
</span><span>$callback</span> = <span>function</span>(<span>$menu</span><span>){ 
    </span><span>//</span><span>鑒于篇幅有限,這里的代碼省略,源碼見于原文</span>
<span>}; 
</span><span>//</span><span>這里我們對一開始寫的菜單menu進(jìn)行了優(yōu)化</span>
<span>echo</span> dmstr\widgets\Menu::<span>widget( [ 
    </span>'options' => ['class' => 'sidebar-menu'], 
    'items' => MenuHelper::getAssignedMenu(Yii::<span>$app</span>->user->id, <span>null</span>, <span>$callback</span>),<span> 
] ); </span>?>

看到這里,我們不妨打開文件dmstr\widgets\Menu看看這里是怎么實現(xiàn)左側(cè)菜單選中這一困擾眾多同學(xué)的問題。

<span>protected</span> <span>function</span> isItemActive(<span>$item</span><span>)
{
    </span><span>if</span> (<span>isset</span>(<span>$item</span>['url']) && <span>is_array</span>(<span>$item</span>['url']) && <span>isset</span>(<span>$item</span>['url'][0<span>])) {
        </span><span>//</span><span>......</span>
        <span>if</span> (<span>$arrayRoute</span>[0] !== <span>$arrayThisRoute</span>[0<span>]) {
            </span><span>return</span> <span>false</span><span>;
        }
        </span><span>if</span> (<span>isset</span>(<span>$arrayRoute</span>[1]) && <span>$arrayRoute</span>[1] !== <span>$arrayThisRoute</span>[1<span>]) {
            </span><span>return</span> <span>false</span><span>;
        }
        </span><span>if</span> (<span>isset</span>(<span>$arrayRoute</span>[2]) && <span>$arrayRoute</span>[2] !== <span>$arrayThisRoute</span>[2<span>]) {
            </span><span>return</span> <span>false</span><span>;
        }
        </span><span>//</span><span>......</span>
        <span>return</span> <span>true</span><span>;
    }
    </span><span>return</span> <span>false</span><span>;
}</span>

看吧,看上面的代碼,也就是說左側(cè)菜單激活的情況是當(dāng)前路由完全等于菜單路由時菜單才進(jìn)行激活。

鑒于我們一開始談到的不少小伙伴疑惑的兩個問題,我們這里只需要稍稍調(diào)整下代碼,判斷控制到controller而非action即可,但是源碼文件我們又不能修改,怎么辦好呢?天熱,涼拌。

這里我們拷貝dmstr\widgets\Menu.php文件到backend\components\Menu.php,然后按照下面的方法修改isItemActive方法即可

<span>protected</span> <span>function</span> isItemActive(<span>$item</span><span>)
{
    </span><span>if</span> (<span>isset</span>(<span>$item</span>['url']) && <span>is_array</span>(<span>$item</span>['url']) && <span>isset</span>(<span>$item</span>['url'][0<span>])) {
        
        </span><span>//</span><span>......


        //改寫了路由的規(guī)則,是否高亮判斷到controller而非action</span>
        <span>$routeCount</span> = <span>count</span>(<span>$arrayRoute</span><span>);
        </span><span>if</span> (<span>$routeCount</span> == 2<span>) {
            </span><span>if</span> (<span>$arrayRoute</span>[0] !== <span>$arrayThisRoute</span>[0<span>]) {
                </span><span>return</span> <span>false</span><span>;
            }
        } </span><span>elseif</span> (<span>$routeCount</span> == 3<span>) {
            </span><span>if</span> (<span>$arrayRoute</span>[0] !== <span>$arrayThisRoute</span>[0<span>]) {
                </span><span>return</span> <span>false</span><span>;
            }
            </span><span>if</span> (<span>isset</span>(<span>$arrayRoute</span>[1]) && <span>$arrayRoute</span>[1] !== <span>$arrayThisRoute</span>[1<span>]) {
                </span><span>return</span> <span>false</span><span>;
            }
        } </span><span>else</span><span> {
            </span><span>return</span> <span>false</span><span>;
        }


        </span><span>//</span><span> 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;
        // }
        
        //......</span>
        
        <span>return</span> <span>true</span><span>;
    }
    </span><span>return</span> <span>false</span><span>;
}</span>

大功告成,現(xiàn)在我們左側(cè)的菜單引用的Menu文件修改其指向到backend\components\Menu

<span>use</span><span> backend\components\Menu;
</span><span>echo</span> Menu::<span>widget([
    </span>'options' => ['class' => 'sidebar-menu'],
    'items' => MenuHelper::getAssignedMenu(Yii::<span>$app</span>->user->id, <span>null</span>, <span>$callback</span>),<span>
]); </span>

?

快去試試看我們的問題解決沒有吧。

menuyii2

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1125073.htmlTechArticleyii2 左側(cè)菜單子級無法高亮的問題,yii2菜單子 作者:白狼 出處:http://www.manks.top/question/20160508000001.html本文版權(quán)歸作者,歡迎轉(zhuǎn)載,但未經(jīng)...
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

聚類演算法中的聚類效果評估問題 聚類演算法中的聚類效果評估問題 Oct 10, 2023 pm 01:12 PM

聚類演算法中的聚類效果評估問題,需要具體程式碼範(fàn)例聚類是一種無監(jiān)督學(xué)習(xí)方法,透過對資料進(jìn)行聚類,將相似的樣本歸為一類。在聚類演算法中,如何評估聚類的效果是一個重要的問題。本文將介紹幾種常用的聚類效果評估指標(biāo),並給出對應(yīng)的程式碼範(fàn)例。一、聚類效果評估指標(biāo)輪廓係數(shù)(SilhouetteCoefficient)輪廓係數(shù)是透過計算樣本的緊密度和與其他簇的分離度來評估聚類效

教你如何診斷常見問題的iPhone故障 教你如何診斷常見問題的iPhone故障 Dec 03, 2023 am 08:15 AM

iPhone以其強大的性能和多方面的功能而聞名,它不能倖免於偶爾的打嗝或技術(shù)困難,這是複雜電子設(shè)備的共同特徵。遇到iPhone問題可能會讓人感到沮喪,但通常不需要警報。在這份綜合指南中,我們旨在揭開與iPhone使用相關(guān)的一些最常遇到的挑戰(zhàn)的神秘面紗。我們的逐步方法旨在幫助您解決這些常見問題,提供實用的解決方案和故障排除技巧,讓您的裝置恢復(fù)到最佳工作狀態(tài)。無論您是面對一個小故障還是更複雜的問題,本文都可以幫助您有效地解決這些問題。一般故障排除提示在深入研究具體的故障排除步驟之前,以下是一些有助於

解決C++程式碼中出現(xiàn)的「error: redefinition of class 'ClassName'」問題 解決C++程式碼中出現(xiàn)的「error: redefinition of class 'ClassName'」問題 Aug 25, 2023 pm 06:01 PM

解決C++程式碼中出現(xiàn)的「error:redefinitionofclass'ClassName'」問題在C++程式設(shè)計中,我們常常會遇到各種各樣的編譯錯誤。其中一個常見的錯誤是「error:redefinitionofclass'ClassName'」(類別『ClassName』的重定義錯誤)。這個錯誤通常出現(xiàn)在同一個類別被定義了多次的情況下。本文將

如龍8酒類大師考試問題有哪些 如龍8酒類大師考試問題有哪些 Feb 02, 2024 am 10:18 AM

如龍8酒類大師考試所涉及的問題包括哪些?對應(yīng)的答案是什麼?如何快速通過考試?酒類大師考試活動有許多需要回答的問題,我們可以參考答案來解決。這些問題都牽涉到酒的知識。如果需要參考,讓我們一起來看看如龍8酒類大師考試問題答案的詳細(xì)解析!如龍8酒類大師考試問題答案詳解1、關(guān)於「酒」的問題。這是一種管由王室建立的蒸餾灑廠生產(chǎn)的蒸餾酒,以夏威夷大量種植的甘盤的糖分為原料釀製。請問這種酒叫什麼?答:蘭姆酒2、關(guān)於「酒」的問題。圖片上是一種使用乾琴灑和乾苦艾酒調(diào)配而成的酒。它的特點是加入了橄欖,被譽為「雞尼酒

win10下載不了steam怎麼辦 win10下載不了steam怎麼辦 Jul 07, 2023 pm 01:37 PM

Steam是十分受歡迎的一個平臺遊戲,擁有眾多優(yōu)質(zhì)遊戲,可是有些win10用戶體現(xiàn)自己下載不了steam,這是怎麼回事呢?極有可能是用戶的ipv4伺服器位址沒有設(shè)定好。要解決這個問題的話,你可以試著在相容模式下安裝Steam,隨後手動修改一下DNS伺服器,將其改成114.114.114.114,以後應(yīng)當(dāng)就能下載了。 win10下載不了steam怎麼辦:WIn10下能夠試著相容模式下安裝,更新後必須關(guān)掉相容模式,不然網(wǎng)頁將無法載入。點擊程式安裝的屬性,以相容模式運作運行這個程式。重啟以增加內(nèi)存,電

解決jQuery無法取得表單元素值的方法 解決jQuery無法取得表單元素值的方法 Feb 19, 2024 pm 02:01 PM

解決jQuery.val()無法使用的問題,需要具體程式碼範(fàn)例對於前端開發(fā)者,使用jQuery是常見的操作之一。其中,使用.val()方法來取得或設(shè)定表單元素的值是非常常見的操作。然而,在一些特定的情況下,可能會出現(xiàn)無法使用.val()方法的問題。本文將介紹一些常見的情況以及解決方案,並提供具體的程式碼範(fàn)例。問題描述在使用jQuery開發(fā)前端頁面時,有時候會碰

解決PHP報錯:繼承父類別時遇到的問題 解決PHP報錯:繼承父類別時遇到的問題 Aug 17, 2023 pm 01:33 PM

解決PHP報錯:繼承父類別時遇到的問題在PHP中,繼承是重要的物件導(dǎo)向程式設(shè)計的特性。透過繼承,我們能夠重複使用現(xiàn)有的程式碼,並且能夠在不修改原有程式碼的情況下,對其進(jìn)行擴展和改進(jìn)。儘管繼承在開發(fā)中應(yīng)用廣泛,但有時在繼承父類別時可能會遇到一些報錯問題,本文將圍繞解決繼承父類別時遇到的常見問題進(jìn)行討論,並提供相應(yīng)的程式碼範(fàn)例。問題一:未找到父類別在繼承父類別的過程中,如果系統(tǒng)無

弱監(jiān)督學(xué)習(xí)中的標(biāo)籤獲取問題 弱監(jiān)督學(xué)習(xí)中的標(biāo)籤獲取問題 Oct 08, 2023 am 09:18 AM

弱監(jiān)督學(xué)習(xí)中的標(biāo)籤獲取問題,需要具體程式碼範(fàn)例引言:弱監(jiān)督學(xué)習(xí)是一種利用弱標(biāo)籤進(jìn)行訓(xùn)練的機器學(xué)習(xí)方法。與傳統(tǒng)的監(jiān)督學(xué)習(xí)不同,弱監(jiān)督學(xué)習(xí)只需利用較少的標(biāo)籤來訓(xùn)練模型,而不是每個樣本都需要有準(zhǔn)確的標(biāo)籤。然而,在弱監(jiān)督學(xué)習(xí)中,如何從弱標(biāo)籤中準(zhǔn)確地獲取有用的信息是一個關(guān)鍵問題。本文將介紹弱監(jiān)督學(xué)習(xí)中的標(biāo)籤獲取問題,並給出具體的程式碼範(fàn)例。弱監(jiān)督學(xué)習(xí)中的標(biāo)籤獲取問題簡介:

See all articles