【发布时间】:2015-06-01 21:48:24
【问题描述】:
我真的很想让它工作并且很接近:
它遍历数组并创建子菜单(尽管有错误)但是: 带有子菜单项的第一个菜单正确显示,但在具有子菜单项的第二个菜单上,它重复第一个子菜单项,然后是第二个子菜单项.....我错过了什么?
任何帮助将不胜感激。
<ul class="nav navbar-nav">
<?php
$html = new cacheHTML('topmenu');
if(!$html->isCached){
$menuitems = getMenuLevelsArray(25, 1 , 1);
$submenuI = "0";
foreach($menuitems as $item){
if($item['submenu']){
$subs[$submenuI] = $item['submenu'];
}
?>
<li <?php if($subs[$submenuI]){ ?> class="dropdown" <?php }?>>
<a href="<?php echo $item['url']; ?>" <?php if($subs[$submenuI]){ ?> class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false" <?php }?>><?php echo $item['text']; ?><?php if($subs[$submenuI]){ ?> <span class="caret"></span> <?php }?></a>
<!-- submenu begins here -->
<?php foreach($subs as $submenuI => $menu){ ?>
<ul class="dropdown-menu" role="menu">
<li>
<?php
for($a=0; $a < count($menu); $a++){
?>
<a href="<?php echo $menu[$a]['url']; ?>" <?php if(!$menu[$a+1]){ echo "class='last'"; } ?>><?php echo $menu[$a]['text']; ?></a>
<?php } ?>
</li>
</ul>
<?php $submenuI++; } ?>
</li>
<?php
}
?>
<?php } $html->show(); ?>
</ul>
`<ul class="nav navbar-nav">
<li> <a href="/">Home</a> <br>
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/layout.php</b> on line 95<br>
</li>
<li class="dropdown open">
<a href="/about-us/" class="dropdown-toggle" data-toggle="dropdown" role="button">About<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="/about/">About</a>
<a href="/about/board-of-directors/">Board of Directors</a>
<a href="/about/structure/" class="last">Structure</a>
</li>
</ul>
</li>
<li>
<a href="/standards-and-codes/standards-and-codes-description/">Standards & Codes</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="/about/">About</a>
<a href="/about/board-of-directors/">Board of Directors</a>
<a href="/about/structure/" class="last">Structure</a>
</li>
</ul>
</li>
<li class="dropdown">
<a href="/resources/frequently-asked-questions/" class="dropdown-toggle" data-toggle="dropdown" role="button">Resources <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="/about/">About</a>
<a href="/about/board-of-directors/">Board of Directors</a>
<a href="/about/structure/" class="last">Structure</a>
</li>
</ul>
<ul class="dropdown-menu" role="menu">
<li>
<a href="/resources/frequently-asked-questions/">Frequently Asked Questions</a>
<a href="/news/news-archives/">News Archives</a>
<a href="/resources/resources/">Resource Links</a>
<a href="/safety-alerts/safety-alerts/" class="last">Safety Alerts</a>
</li>
</ul>
</li>
<li><a href="/contact-us/">Contact Us</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="/about/">About</a>
<a href="/about/board-of-directors/">Board of Directors</a> <a href="/about/structure/" class="last">Structure</a>
</li>
</ul>
<ul class="dropdown-menu" role="menu">
<li>
<a href="/resources/frequently-asked-questions/">Frequently Asked Questions</a>
<a href="/news/news-archives/">News Archives</a>
<a href="/resources/resources/">Resource Links</a>
<a href="/safety-alerts/safety-alerts/" class="last">Safety Alerts</a>
</li>
</ul>
</li>
</ul>`
【问题讨论】:
-
您能否在问题中发布结果输出以帮助描述?
-
是的....谢谢安迪,我已经添加了结果:
-
你为什么
$submenuI++?这是在foreach($subs as $submenuI => $menu)循环内。还有,95是哪一行? -
第 95 行是 $menu){ ?> 我使用 $submenuI++ 来增加整数。