我想了解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