首页 文章

PHP面包屑

提问于
浏览
0

我正在创建一个动态的痕迹导航菜单,它正在抓取url并正确地将每个目录输出到最终用户,但是例如,如果你在主页后单击第一个痕迹导航链接,它仍然使用FULL url并且还添加'数组到最后” . 我将发布下面的代码来发送这个和截图 .

PHP / HTML

<?php 
    $crumbs = explode("/",$_SERVER["REQUEST_URI"]);
    foreach($crumbs as $crumb){
    ucfirst(str_replace(array(".php","_"),array(""," "),$crumb) . ' ');
}
?>

<div class="breadcrumb">
    <ul>
        <li><a href="<?php HTTP_HOST ?>">Home</a></li>
        <?php foreach($crumbs as $crumb){ ?>
            <li><a href="<?php echo $crumbs; ?>"><?php echo $crumb; ?></a></li>
        <?php } ?>
    </ul>
</div>

到目前为止看起来如何:

enter image description here


当我点击In-House-Training为例时,它试图加载的链接 .

enter image description here

1 回答

  • 2

    您're generating your URL wrong. Notice how you'将 $crumbs 数组回显到 a href属性中 . 您应该使用您的站点根URL和每个foreach循环传递开始您的URL,添加适当的字符串

    $url = "http://www.yoursite.com";
    
    <div class="breadcrumb">
        <ul>
            <li><a href="<?php echo $url ?>">Home</a></li>
            <?php foreach($crumbs as $crumb){
              $url .= "/".$crumb;
            ?>
                <li><a href="<?php echo $url; ?>"><?php echo $crumb; ?></a></li>
            <?php } ?>
        </ul>
    </div>
    

相关问题