У меня есть скрипт хлебных крошек, который делит URL-адрес на /
и связывает каждый из них по одному и тому же пути.Однако я сталкиваюсь с двумя проблемами:
- У меня есть старый веб-сайт, у которого во многих папках не было
index.php
, поэтому мне нужно добавить массив, для которого нужно перейти в этот файл для этой папки.. - Некоторые папки могут иметь одно и то же имя в разных местах ... поэтому может быть путь, например
example.com/something/Samename
, а другой - example.com/another/path/Samename
, и мне нужно установить заголовок, который отображается в сухарях,так что это значимо больше, чем имена путей.
Поэтому я хочу добавить что-то вроде массива, чтобы сообщить ему, является ли путь /another/path/Samename
ссылкой на thisfile.php
, и если это другая папкассылка на другой файл ... и т. д., и если для этого пути нет массива, он обычно ссылается на имя папки, что означает, что у него есть index.php
файл.
Мой текущий сценарий:
var path = "";
var href = document.location.href;
var s = href.split("/");
for (var i=2;i<(s.length-1);i++) {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].length+1)+"/\">"+s[i]+"</A> / ";
}
i=s.length-1;
path+="<A HREF=\""+href.substring(0,href.indexOf(s[i])+s[i].length)+"\">"+s[i]+"</A>";
var url = window.location.protocol + "//" + path;
document.writeln(url);
//-->
И это еще один скрипт, который делает то же самое:
//this is a file named 'functions.php'
<?php
function breadcrumbs(){
$bread = explode('/', $_SERVER['PHP_SELF']);
$url = '/';
$returnString = "<span class='bc0'><a href='$url'>home</a>";
for($i=1;$i<count($bread)-1;$i++){
$url.=$bread[$i].'/';
$returnString .= " |</span> <span class='bc$i'><a href='$url'>$bread[$i]</a>";
}
echo $returnString.'</span>';
}
?>
//in header of path
<?php include ( $_SERVER['DOCUMENT_ROOT'] . 'functions.php'); ?>
//where the breadcrumbs show
<?php breadcrumbs(); ?>