我一直试图为网站创建一个基本的导航系统。
我有一个.txt文件,我试图将整个网站导航到然后我逐行循环并创建嵌套s。这很好,但我有两个问题:
1 - 我在另一个div中有一个单独的导航,所以它没有嵌套,我不知道如何填充它,因为它不会发生在第一个循环中。
2 - 我不知道如何在不使用JQuery或手动向每个页面添加$ parent变量的情况下更改父导航链接的类。
这是我的代码:
nav.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
MY NAV FUNCTION:
<?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>
<?
};
?>
所以,这里没有显示,但是我试图添加第三个“图层”,但它没有嵌套在这里。
答案 0 :(得分:0)
如果您想要在一堆乱码之外导航,您可以使用以下内容。这将允许分层但仍然是简单的编码。当我在一年左右的时间内检查此代码然后使用-2
和2
menu.php
<?php
function AddMenuItem($url, $name)
{
$active_page = basename($_SERVER['PHP_SELF']);
if ($active_page == $url)
echo "<div class='active'>".$name."</div>";
else
echo "<a href='".$url."'>".$name."</a>";
}
?>
<ul>
<li>
<?php echo AddMenuItem("index.php", "Home"); ?>
</li>
<li>
<?php echo AddMenuItem("products.php", "Products"); ?>
<ul>
<li>
<?php echo AddMenuItem("ace.php", "Ace Blade"); ?>
</li>
<li>
<?php echo AddMenuItem("electrodes.php", "Electrodes"); ?>
</li>
<li>
<?php echo AddMenuItem("megasoft.php", "Mega Soft"); ?>
</li>
</ul>
</li>
<li>
<?php echo AddMenuItem("samples.php", "Samples"); ?>
</li>
</ul>
index.php, products.php, ace.php, etc.
<?php require_once("menu.php"); ?>