【问题标题】:codeigniter pagination first page URLcodeigniter 分页首页 URL
【发布时间】:2012-02-20 14:31:33
【问题描述】:

我知道他们是关于 codeigniter 分页的一些问题,但据我所知,他们似乎并不相关。

仅供参考,我在我的 URL 中使用页码,而不是索引(使用配置选项 use_page_numbers)

所以我的问题是第一个链接。

我的第 1 页以外的页面的 url 结构是:

http://www.something.com/foo/page/x

一切正常,但是当我将鼠标悬停在第 1 页的链接上时,出现的网址是:

http://www.something.com/foo/page/

现在我知道那是因为我将基本 url 声明为:

$config['base_url'] = $this->uri->slash_segment(1, 'both') . 'page/';

但是是否可以将第 1 页的 URl 设置为:

http://www.something.com/foo/

http://www.something.com/foo/page/1/

希望这是有道理的,有人可以提供帮助。如果第 3 段为空但没有乐趣,我确实尝试将 base_url 设置为 page/1。

感谢阅读

【问题讨论】:

  • 为什么需要在链接中使用“page/1”?您至少可以将“page”用作“page/1”

标签: php codeigniter pagination uri codeigniter-2


【解决方案1】:

发生这种情况是因为您将 'page/' 参数添加到分页基础 url

只需更改分页配置即可。设置如下:

$pagination['base'] = $this->config->item('base_url');
$config['base_url'] = $pagination['base'].'foo';

这可行,第一页的分页链接将是http://www.something.com/foo/

【讨论】:

    【解决方案2】:

    我刚刚获得了带有 /foo/ 的 URL,其中没有“页面”段。这是使用文档中的常规方法完成的:

    http://codeigniter.com/user_guide/libraries/pagination.html

    感谢大家的意见。

    【讨论】:

    【解决方案3】:

    想象你的 base_url 是:

    $config['base_url'] = base_url() . 'method/page/';
    

    所以,像下面这样更改代码,让第一个 URL 随心所欲:

    $config['base_url'] = base_url() . 'method/page/';
    $config['first_url'] = '1';
    $this->pagination->initialize($config);
    

    现在第一页链接应该是:

    http://example.com/method/page/1

    【讨论】:

    • 我认为 base_url 应该看起来像 base_url('method/page'),但是 'first_url' 属性解决了我的问题。与我在 ASP.NET 中使用的类相比,codeigniter 中的分页对我来说相当棘手。
    【解决方案4】:

    使用以下代码:$FullURL = explode('?',$_SERVER['REQUEST_URI']);
    $config['first_url'] = base_url() . 'test/testing?'.$FullURL[1];

    $this->分页->初始化($config);

    这将解决您的问题。

    【讨论】:

      猜你喜欢
      • 2012-04-27
      • 1970-01-01
      • 2012-06-06
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 2012-11-07
      • 1970-01-01
      相关资源
      最近更新 更多