【问题标题】:Get current url in ci获取 ci 中的当前 url
【发布时间】:2014-05-04 23:45:21
【问题描述】:

我正在使用 bootstrap 为我的 codeigniter 制作面包屑,但想知道如何获取当前 url,因此它会在我的面包屑 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>

【问题讨论】:

  • echo ”$breadcrumb['href'] 会吐出什么,它与您想要的有什么不同?
  • 你加载Helper_URL类然后调用current_url():ellislab.com/codeigniter/user-guide/helpers/url_helper.html
  • 我试过这个似乎显示它 $this->uri->uri_string()
  • @Ronni Skansing 应该链接到 url 的当前位置。

标签: php codeigniter


【解决方案1】:

现在工作

控制器文件

$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>

【讨论】:

    【解决方案2】:

    是的,例如,我要做的是创建一个助手“breadcrumb_helper.php”并将其放在您的助手文件夹中(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(); ?>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-12
      • 2011-01-30
      • 2014-01-03
      • 2011-03-13
      • 2023-03-12
      • 1970-01-01
      • 2014-05-16
      • 2019-07-19
      相关资源
      最近更新 更多