感谢您抽出时间来研究这个问题。
我们在magento上有一个标准的导航栏,我设法复制了这个(通过复制和编辑html / css的位)并将它放在原始导航栏下面 - 所以我们实际上有2个。
原始导航栏通过magento代码工作,并识别类别URL是否处于活动状态,然后该类别的导航栏以红色突出显示。
我现在想尝试复制这个,任何帮助将不胜感激。我在本地这样做,所以不幸的是不能给网站链接。
HTML:
<div class="nav-container2">
<ul id="nav2">
<li class="downloads"><a href="http://127.0.0.1/foscamsite/downloads" id="Downloads"><span>Downloads</span></a></li>
<li class="forum"><a href="http://127.0.0.1/foscamsite/forum" id="Forum"><span>Forum</span></a></li>
</ul></div>
CSS:
.nav-container2 { width:940px; margin:auto; height:30px;}
#nav2 { width:547px; height:40px; float:right; margin:1px 0 0 0; font-size:105%; background:url(../images/bg-nav.png) 0 0 repeat-x; -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; box-shadow:0 0 3px #ccc; }
#nav2 li { position:relative; text-align:left; }
#nav2 li.over { z-index:998; }
#nav2 a,
#nav2 a:hover { display:block; line-height:1.3em; text-decoration:none; }
#nav2 span { display:block; cursor:pointer; white-space:nowrap; }
#nav2 li ul span {white-space:normal; }
#nav2 ul li.parent a { background:url(../images/bkg_nav2.gif) 100% 100% no-repeat; }
#nav2 ul li.parent li a { background-image:none; }
#nav2 li { float:left; margin:0 1px 0 0; }
#nav2 li.active a { background:url(../images/bg-nav-hover.png) 0 0 repeat-x; color:#fff; }
#nav2 a { float:left; padding:12px 14px 11px; color:#787878; font-size:105%; }
#nav2 li.over a,
#nav2 a:hover { background:url(../images/bg-nav-hover.png) 0 0 repeat-x; color:#fff; }
感觉不需要这些CSS,只是没有从修改它的地方开始。
非常感谢!
答案 0 :(得分:0)
试试这个。注意我已经取消了服务器地址&amp;使URL相对,所以希望它可以使迁移到实时服务器更简单:
<?php
echo "<div class=\"nav-container2\">\n";
echo "<ul id=\"nav2\">\n";
echo "<li class=\"downloads";
if ($_SERVER['REQUEST_URI'] == "/foscamsite/downloads") echo " active";
echo "\"><a href=\"/foscamsite/downloads\" id=\"Downloads\"><span>Downloads</span></a></li>\n";
echo "<li class=\"forum";
if ($_SERVER['REQUEST_URI'] == "/foscamsite/forum") echo " active";
echo "\"><a href=\"/foscamsite/forum\" id=\"Forum\"><span>Forum</span></a></li>\n";
echo "</ul>\n";
echo "</div>\n";
?>
答案 1 :(得分:0)
如果在标题上方添加php变量并将其用于导航中的活动状态,这可能会更容易。
例如:
<?php $page = $_SERVER['REQUEST_URI']; ?>
<div class="nav-container2">
<ul id="nav2">
<li <?php if ($page == 'downloads.php') { ?>class="active"<?php } ?>><a href="downloads.php" id="Downloads"> <span>Downloads</span></a></li>
<li <?php if ($page == 'forum.php') { ?>class="active"<?php } ?>><a href="forum.php" id="Forum"><span>Forum</span></a></li>
希望这有帮助