【发布时间】:2013-03-05 18:00:15
【问题描述】:
我一直在尝试为网站创建基本导航系统。
我有一个 .txt 文件,我试图将整个站点导航放入其中,然后我逐行循环并创建嵌套的 s。这工作正常,但我有两个问题:
1-我在不同的 div 中有一个单独的导航,所以它没有嵌套,我不知道如何填充它,因为它不会发生在第一个循环中。
2-不使用JQuery或者手动为每个页面添加$parent变量,我不知道如何更改父导航链接的类。
这是我的代码:
导航.txt
index.php:Home
products.php:Products:2
ace.php:Ace Blade
electrodes.php:Electrodes
megasoft.php:Mega Soft
lletz.php:Lletz Loops
megapower.php:Mega Power:-2
samples.php:Samples
gogreen.php:Go Green:2
wastecalculator.php:Waste Calculator
environmental.php:Environmental Considerations:-2
about.php:About Us
我的导航功能:
<?php
function main_navigation()
{
$active_page = basename($_SERVER['PHP_SELF']);
?>
<div class="main_nav">
<ul>
<?php
$nav = fopen("template/nav.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($nav)){
$line = fgets($nav);
list($url, $name, $layer) = explode(":", $line);
echo "<li>";
if ($active_page == $url) {
echo "<div class='active'>".$name."</div>";
}else{
echo "<a href='".$url."'>".$name."</a>";
};
if ($layer == 2){
echo "<ul>";
}elseif($layer == -2){
echo "</ul>";
}else{
echo "</li>";
};
};
fclose($nav);
?>
</ul>
</div>
<?
};
?>
所以,这里也没有显示,但我正在尝试添加第三个“层”,但它没有嵌套在这个中。
【问题讨论】:
-
为什么这样?如果您使用的是文本文件,我猜它不是真正动态的,然后最好只编写 HTML 代码并将其放入包含文件中。这样调试起来更快更容易。如果它仅用于 $active_page 部分,那么还有比这更好的方法。
-
为我指明更好的方向?
-
.txt 文件的原因只是为了使维护更容易,并且在一堆代码之外可以访问导航。
标签: php navigation layered