首页 文章

PHP Breadcrumb脚本的奇怪问题

提问于
浏览
0

我'm using 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

    面包屑脚本:

    <?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>
    

相关问题