我正在使用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>
答案 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>