带路径列表的PHP面包屑

时间:2019-02-12 02:57:37

标签: javascript php url path breadcrumbs

我有一个面包屑脚本,该脚本用/划分URL,并将每个URL链接到同一路径。但是,我面临两个问题:

  1. 我有一个较旧的网站,其中许多网站都没有index.php 文件夹,因此我需要为该文件夹添加要转到其文件的数组。
  2. 某些文件夹在不同的位置可能具有相同的名称。.因此可能有一个像example.com/something/Samename的路径,另一个像example.com/another/path/Samename的路径,我需要设置显示在面包屑中的标题,因此它比路径名更有意义。

因此,我想添加类似数组的内容来告诉它路径是否是/another/path/Samenamethisfile.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(); ?>

0 个答案:

没有答案