codeigniter 中的动态面包屑

Dynamic Breadcrumbs in codeigniter

P.S 我是 codeigniter 的新手,正在寻找答案,但它远远超出了我的理解范围,所以我会根据我的水平提出这个问题。

我刚刚在 youtube 上找到了这个动态面包屑帮助程序的代码,但我收到了一条错误消息。你们能帮我调试一下吗?因为我对他的代码感到困惑,但它是一种高效的代码,因为您只需简单地在 VIEW 中回显该函数。 这是错误:

A PHP Error was encountered

Severity: Parsing Error

Message: syntax error, unexpected ';'

Filename: helpers/breadcrumb_helper.php

Line Number: 15

Backtrace:

这是代码

    <?php
if(!function_exists('generatedBreadcrumb')){
    function generateBreadcrumb(){
        $ci=&get_instance();
        $i=1;
        $iro = $ci->iri->segment($i);
        $link='
        <div class="pageheader">
        <h2><i class="fa fa-edit"></i>'.$ci->uri->segment($i).'</h2>
        <div class="breadcrumb-wrapper">

        <ol class="breadcrumb">';

        while($uri != "){
        $prep_link = ";
        $for($j=1; $j<=$i; $j++){
        $prep_link.=$ci->uri->segment($j).'/';
        }

        if($ci->uri->segment($i+1)=="){
            $link.='<li class="active"><a href=".site_uri($prep_link).">';
            $link.=$ci->uri->segment($i).'</a></li>';
        }else{
            $link.='<li><a href=."site_url($prep_link).">';
            $link.=$ci->uri->segment($i).'</a><span class="divider"></span></li>';
        }

        $i++;
        $uri = $ci->uri->segment($i);
        }
        $link .='</ol></div></div>';
        return $link;
        }
        }

你用一个双引号而不是两个双引号设置 $variables,像这样:

while($uri != "){}

应该是:

while($uri != ''){}

还有这个:

$prep_link = ";

应该是:

$prep_link = '';

以此类推

if(!function_exists('generatedBreadcrumb')){
        function generateBreadcrumb(){
            $ci=&get_instance();
            $i=1;
            $uri = $ci->uri->segment($i);
            $link='
            <div class="pageheader">
            <h2><i class="fa fa-edit"></i>'.$ci->uri->segment($i).'</h2>
            <div class="breadcrumb-wrapper">

            <ol class="breadcrumb">';

            while($uri != ''){
            $prep_link = '';
            for($j=1; $j<=$i; $j++){
            $prep_link.=$ci->uri->segment($j).'/';
            }

            if($ci->uri->segment($i+1)== ''){
                $link.='<li class="active"><a href="'.site_url($prep_link).'">';
                $link.=$ci->uri->segment($i).'</a></li>';
            }else{
                $link.='<li><a href="'.site_url($prep_link).'">';
                $link.=$ci->uri->segment($i).'</a><span class="divider"></span></li>';
            }

            $i++;
            $uri = $ci->uri->segment($i);
            }
            $link .='</ol></div></div>';
            return $link;
            }
    }

获取

的错误

Fatal error: Call to a member function segment() on null in breadcrumb_helper.php

您还更改了以下内容,例如:

$iro = $ci->iri->segment($i);

应该是:

$uri = $ci->uri->segment($i);

以此类推