获取ci中的当前URL

时间:2014-05-03 11:28:57

标签: php codeigniter

我正在使用bootstrap为我的codeigniter制作面包屑,但想知道如何获取当前网址,因此它显示我的面包屑上的页面current_url()不确定如何使用此

在控制器索引上显示

$data['breadcrumbs'] = array();

$data['breadcrumbs'][] = array(
'text' => $this->lang->line('language_key'),
'href' => $this->url->link
);

在视图中显示

<div class="breadcrumb">
<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
<?php } ?>
</div>

2 个答案:

答案 0 :(得分:0)

是的,例如我要做的是创建一个帮手&#34; breadcrumb_helper.php&#34;并将其放在helpers文件夹中(application / helpers / breadcrumb_helper.php)。使用自动加载配置文件加载它,以便通过整个站点加载它,并可以在视图文件中调用。

<?php
/* This is breadcrumb_helper.php */

function breadcrumbs() {

    //get codeigniter instance as object
    $ci =& get_instance();

    $linkBuild = '';
    $breadcrumbs = '';
    //http://ellislab.com/codeigniter/user-guide/libraries/uri.html
    //the uri class is loaded by the system automatically
    $count = 1;
    $segs = $ci->uri->segment_array();

    //no need to run this on the main page and only show a link to the main page.
    if(count($segs) >= 1) :
        $breadcrumbs .= '<ol class="breadcrumb">';
        $breadcrumbs .= '<li class="home"><a href="' . base_url() . '"><i class="fa fa-home"></i></a></li>';
        foreach ($segs as $segment)
        {
            $linkBuild .= $ci->uri->segment($count) . '/';

            if($count <= count($segs)) :
                $breadcrumbs .= '<li><a href="' . base_url() . $linkBuild . '">' . $segment . '</a></li>';
            else :
                $breadcrumbs .= '<li>' . $segment . '</li>';
                $count++;
            endif;
        }
        $breadcrumbs .= '</ol>';
    endif;

    return $breadcrumbs;
}

然后在您的视图文件中,您只需要运行如下函数:

<?= breadcrumbs(); ?>

这将为您提供您所在页面的当前面包屑。

答案 1 :(得分:0)

立即工作

控制器文件

$data['breadcrumbs'] = array();

$data['breadcrumbs'][] = array(
'text' => $this->lang->line('heading_title'),
'href' => $this->uri->uri_string()
);

查看档案

<div class="breadcrumb">
<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
<?php } ?>
</div>