navbar-嵌套php数组查询
我有一个导航栏,布局如下navbar-嵌套php数组查询,php,arrays,twitter-bootstrap,foreach,navbar,Php,Arrays,Twitter Bootstrap,Foreach,Navbar,我有一个导航栏,布局如下 <ul> <li> <a href="#">Nav Item 1</a> </li> <li class="dropdown"> <a href="/where" class="dropdown-toggle disabled" data-toggle="dropdown"> Where? <b class="caret"></b>
<ul>
<li>
<a href="#">Nav Item 1</a>
</li>
<li class="dropdown">
<a href="/where" class="dropdown-toggle disabled" data-toggle="dropdown">
Where? <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li class="nav-header"> SUBNAV HEADER </li>
<li class="divider"></li>
<li><a href="#">SubNav 1</a></li>
<li><a href="#">SubNav 2</a></li>
</ul>
</li>
<li>
<a href="#">Nav Item 2</a>
</li>
<li>
<a href="#">Nav Item 3</a>
</li>
-
-
- 子导航标头
-
-
我已经创建了一个php数组和foreach语句,放在网站的每个页面上。在特定页面上时,菜单中的该页面具有以下导航项。
我会根据页面的不同而改变$page,这会改变活动类
我已经编写了一个嵌套数组,可以与导航栏一起使用。但是,当活动页面是来自SubNav的页面时,我需要两个下拉项,例如/Where?和SubNav以拥有活动类
我有以下内容,但当在非洲的网页,例如,在哪里?项处于活动状态,但非洲菜单项也不处于活动状态。我希望这两个菜单项都处于活动状态
我目前有以下情况:
echo '<ul class="nav pull-right">';
$nav_items = array('/'=>'Home', '/where'=>'Where?', '/appeals'=>'Current Appeals', '/news'=>'Latest News', '/events'=>'Events' );
$default_subnav = '<a href="/where" class="dropdown-toggle disabled" data-toggle = "dropdown">where?<b class="caret"></b></a>' . "\n". '<ul class="dropdown-menu"><li class="nav-header"> SUBNAV HEADER </li><li class="divider"></li>';
$sub_nav = array( 'africa'=>'Africa', 'bangladesh'=>'Bangladesh', 'gaza'=>'Palestine/Gaza', 'kashmir'=>'Kashmir', 'pakistan'=>'Pakistan', 'uk'=>'United Kingdom' );
foreach ($nav_items as $nav_href=>$nav_title) {
if ($nav_href != '/where') {
if ($page == $nav_href) {
echo '<li class="active"><a href="'. $nav_href . '">' . $nav_title . '</a></li>' . "\n";
} else {
echo '<li><a href="'. $nav_href . '">' . $nav_title . '</a></li>' . "\n";
}
}
else {
if ($page == $nav_href) {
echo '<li class="active dropdown">' . $default_subnav . "\n";
} else {
echo '<li class = "dropdown">' . $default_subnav . "\n";
}
foreach ($sub_nav as $sub_item=>$value) {
echo '<li><a href="../where/' . $sub_item . '">' . $value . '</a></li>' . "\n";
}
echo '</ul></li>';
}
}
echo';
$nav_items=array(“/”=>“Home”、“/where”=>“where?”、“/appeals”=>“Current appeals”、“/news”=>“Last news”、“/events”=>“events”);
$default_subnav=''。“\n”。”- 子导航标头
;
$sub_nav=数组('africa'=>'africa'、'bangladesh'=>'bangladesh'、'gaza'=>'Palestan/gaza'、'Kshmir'=>'Kshmir'、'pakistan'=>'pakistan'、'uk'=>'uk');
foreach($nav_项目作为$nav_href=>$nav_标题){
如果($nav_href!='/where'){
如果($page==$nav_href){
回显“”。“\n”;
}否则{
回音“”。“\n”;
}
}
否则{
如果($page==$nav_href){
echo'- 。$default\u subnav.\n”;
}否则{
echo'
- 。$default\u subnav.\n”;
}
foreach($sub_nav as$sub_item=>$value){
回音“
”。“\n”;
}
回音“
”;
}
}
这将产生:
<ul class="nav pull-right"><li class="active"><a href="/">Home</a></li>
<li class = "dropdown"><a href="/where" class="dropdown-toggle disabled" data-toggle = "dropdown">where?<b class="caret"></b></a>
<ul class="dropdown-menu"><li class="nav-header"> SUBNAV HEADER </li><li class="divider"></li>
<li><a href="../where/africa">Africa</a></li>
<li><a href="../where/bangladesh">Bangladesh</a></li>
<li><a href="../where/gaza">Palestine/Gaza</a></li>
<li><a href="../where/kashmir">Kashmir</a></li>
<li><a href="../where/pakistan">Pakistan</a></li>
<li><a href="../where/uk">United Kingdom</a></li>
</ul></li><li><a href="/appeals">Current Appeals</a></li>
<li><a href="/news">Latest News</a></li>
<li><a href="/events">Events</a></li></ul>
-
- SUBNAV标头
谁能改变我的php,让我可以实现我想要的?据我所知,这是我所能做到的:(
谢谢
![我希望导航栏在输出上执行的操作。Where和SubNav都有活动类。][1]
图片如下:
Where和SUNBNAV项目都是活动的,并且具有活动的类。将您的代码集
$page
设置为b.e.“/Where/BANGLADE”当子项应处于活动状态时。可以从请求URI创建$page
。现在可以通过以下方式设置活动类:使用“/where”启动$page
,和/或$page
是否匹配最后的子项:
else {
if ($page == $nav_href) {
echo '<li class="active dropdown">' . $default_subnav . "\n";
} else {
echo '<li class = "dropdown'.(preg_match('/^\/where/',$page)?' active':'').'">' . $default_subnav . "\n";
}
foreach ($sub_nav as $sub_item=>$value) {
echo '<li class="'.(preg_match('/\/'.str_replace('/','\/',$value).'$/',$page)?'active':'').'"><a href="../where/' . $sub_item . '">' . $value . '</a></li>' . "\n";
}
echo '</ul></li>';
}
else{
如果($page==$nav_href){
echo'。$default\u subnav.\n”;
}否则{
echo“ ”。$default_subnav.\n”;
}
foreach($sub_nav as$sub_item=>$value){
echo“ ”。“\n”;
}
回音“”;
}
注意:要从您的图像中获得菜单效果,您必须将“导航药丸”添加到菜单中,另请参见:Bootstrap framework。js包含在框架中。您想让我发布什么吗?