PHP Breadcrumb脚本的奇怪问题

时间:2011-09-16 20:58:16

标签: php breadcrumbs

我正在使用Mick Sears的php breadcrumb脚本 - 在这里找到: http://www.roscripts.com/PHP_breadcrumbs-118.html

我已经多次使用过这个脚本而没有任何问题。但是有了这个网站,我遇到了最奇怪的问题......主页 - 很好。 1级页面 - 很好。但每次我移动到level2页面时,正确的level1 crumb将被“Help”替换。 crumb上的链接是帮助页面的正确链接。即使我清除了所有浏览器缓存并且根本没有访问该站点的“帮助”部分,也会发生这种情况。

该网站为http://www.fastexas.org。脚本在那里,但我给了breadcrumb div display:none;直到我能弄清楚这一点。

这个脚本似乎已经存在了一段时间,我想知道是否有其他人看到过这个问题。

1 个答案:

答案 0 :(得分:0)

面包屑脚本:

<?php
class Breadcrumb{
var $output;
var $crumbs = array();
var $location;
function Breadcrumb(){  
  if ($_SESSION['breadcrumb'] != null){
     $this->crumbs = $_SESSION['breadcrumb'];}  } 
 function add($label, $url, $level){
  $crumb = array();
  $crumb['label'] = $label;
  $crumb['url'] = $url;
  if ($crumb['label'] != null && $crumb['url'] != null && isset($level)){            
     while(count($this->crumbs) > $level){ 
        array_pop($this->crumbs); }
     if (!isset($this->crumbs[0]) && $level > 0){  
 $this->crumbs[0]['url'] = "/index.php";
        $this->crumbs[0]['label'] = "Home";}
     $this->crumbs[$level] = $crumb;}

    $_SESSION['breadcrumb'] = $this->crumbs; 
    $this->crumbs[$level]['url'] = null;}
function output(){
  echo "<ul>"; 
  foreach ($this->crumbs as $crumb){ 
if ($crumb['url'] != null){
echo "<li>  <a href='".$crumb['url']."' title='".$crumb['label']."'>".$crumb['label']."</a></li> ";} else {
echo "<li class='last'>".$crumb['label']."</li> ";}}
echo "</ul>";}}
?> 

每个页面都以:

开头
 <?php session_start(); 
 $level= '1'; 
 $label= 'Honors Circle'; 
 $url= '/honors/'; include($_SERVER['DOCUMENT_ROOT']."/includes/Breadcrumb.php"); 
 $trail = new Breadcrumb(); 
 $trail->add($label, $url, $level); ?>

<?php
session_start(); 
$level= '2';
$label= 'Districts';
$url= '/honors/district.php';
include($_SERVER['DOCUMENT_ROOT']."/includes/Breadcrumb.php");
$trail = new Breadcrumb();
$trail->add($label, $url, $level);
?>

打印面包屑踪迹:

<div id="breadcrumb"><?php  $trail->output(); ?></div>