【发布时间】:2011-12-03 23:00:15
【问题描述】:
下面的代码使用查询字符串生成分页。但是,没有前导?。所以,我得到这样的信息:http://localhost/index.php/search/&limit=10。 有什么想法吗?
this->load->library('pagination');
$config = array();
$config['base_url'] = 'http://localhost/index.php/search/';
$config['total_rows'] = 200;
$config['per_page'] = 10;
$config['num_links'] = 4;
$config['full_tag_open'] = '<ol>';
$config['full_tag_close'] = '</ol>';
$config['first_link'] = 'First';
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['last_link'] = 'Last';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['next_link'] = 'Next';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['prev_link'] = 'Previous';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active">';
$config['cur_tag_close'] = '</li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
echo ($this->pagination->create_links());
编辑 1:
http://codeigniter.com/forums/viewthread/161263/
编辑 2:
文档似乎表明我所做的应该有效:http://codeigniter.com/user_guide/libraries/pagination.html
$config['page_query_string'] = TRUE;
默认情况下,分页库假定您正在使用 URI 段,并构建您的链接类似于
http://example.com/index.php/test/page/20
如果您将$config['enable_query_strings'] 设置为TRUE,您的链接将使用查询字符串自动重写。此选项也可以显式设置。使用$config['page_query_string']设置为TRUE,分页链接就变成了。
http://example.com/index.php?c=test&m=page&per_page=20
【问题讨论】:
-
好的,成功了。为什么我需要设置这个?我没有使用 URI 段。另外,现在我有这样的东西:
http://localhost/index.php/search/?&limit=10--&可以安全地忽略,对吧? -
因为愚蠢的uri_segment默认为三个......可以安全地忽略。
-
查询字符串是否被视为第二个 URI 段?
-
我没有答案,需要检查代码本身。如果像我将 /&limit=20 放在 url_segment 2 之后的行为,如果页面只有两个段,那么是 /?&。如果没有弄错,一旦你转到第 2 页,链接可能会再次断开
-
还有一件事,我如何使另一个页码处于活动状态?现在,第 1 页是活动的。如果我在第 2 页呢?如何使该页面处于活动状态?