codeigniter

时间:2015-12-07 18:43:17

标签: php codeigniter breadcrumbs

P.S我是codeigniter的新手并搜索了答案,但这远远超出了我的理解力,所以我会问这个问题我的水平。

我刚刚在youtube中找到了动态痕迹帮助器的代码,我收到了一个错误。你能帮我调试一下吗?因为我对他的代码感到困惑,但它是一个有效的代码,因为你只需在VIEW中回显函数。 这是错误:

  

遇到PHP错误

     

严重性:解析错误

     

消息:语法错误,意外&#39 ;;'

     

文件名:helpers / breadcrumb_helper.php

     

行号:15

     

回溯:

这是代码

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

3 个答案:

答案 0 :(得分:1)

您将$variables设置为一个双引号而不是两个,如下所示:

while($uri != "){}

应该是:

while($uri != ''){}

还有这个:

$prep_link = ";

应该是:

$prep_link = '';

等等。

答案 1 :(得分:1)

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;
            }
    }

答案 2 :(得分:0)

得到

的错误
  

致命错误:在null中调用成员函数segment()   Breadcrumb_helper.php

您还更改了以下内容:

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

应为:

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

以此类推。