我想了解Joomla 3.x的mod_menu文件夾中的helper.php文件。我正在看的代碼段是我們碰到的第一個isset調用來檢查我們新推出的元素的值瞭解Joomla 3.x的mod_menu中的helper.php的代碼塊
特別是我試圖弄清楚$ item-> shallowower如何能夠計算深度的菜單結構,它允許我們通過這個特定模塊的默認輸出模板在列表元素中創建列表。
// add these elements to each item
$item->deeper = false;
$item->shallower = false;
$item->level_diff = 0;
if (isset($items[$lastitem])) {
$items[$lastitem]->deeper = ($item->level > $items[$lastitem]->level);
$items[$lastitem]->shallower = ($item->level < $items[$lastitem]->level);
$items[$lastitem]->level_diff = ($items[$lastitem]->level - $item->level);
var_dump($items[$lastitem]->shallower);//(bool)true or false
var_dump($item->level);//string
var_dump($items[$lastitem]->level);//string
}
我只是努力讓我的頭一輪這段代碼,更使雙方$用品 - >深入和$用品 - >水平似乎他們應該工作,但我沒有什麼$的理解lastitem] - >淺層在做。任何解釋都是最有幫助的。
問候
w9914420
嗨裏卡多,很抱歉的響應晚了,我不得不離開了,並做一些轟轟烈烈的測試。我明白你的意思,因爲$ lastitem引用了循環中創建的最後一個迭代(在前面的代碼中提到)。我現在明白淺層的價值是什麼,爲什麼它很重要。無需關閉主題,這是通過評估創建項目的值,然後使用這些值作爲標識來表示對象$ item [$ lastitems]中的元素狀態,這本身似乎是對象集合:-S – W9914420
我在頂部添加了一個簡短的解釋,我希望它能更好地解釋。 $ items的確是所有菜單項的集合。 –
嗨@riccardozorn再次感謝您的洞察力,我走開了,並查看了foreach,看看它究竟在做什麼,它不像我原先想象的那樣行事)。乾杯 – W9914420