CodeIgniter中的分页自动加载配置不起作用

时间:2010-07-23 08:13:04

标签: codeigniter pagination configuration-files

我正在尝试在我的CI webapp中实现分页。现在我把配置的分区放在这样的配置文件中......

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config['base_url'] = "http://example.com/index.php/home/index";
$config['num_links'] = "9";
$config['per_page'] = "20";
$config['total_rows'] = "200";

/* End of file pagination.php */
/* Location: ./system/application/config/pagination.php */

在我的控制器中,我已经加载了库

$this->load->library("pagination");

我已经在config / autoload.php中将分页配置文件定义为自动加载

$autoload['config'] = array('pagination');

最后,我调用了方法在视图模板中创建链接:

<?php echo $this->pagination->create_links(); ?>

这没有创建任何链接。配置正在自动加载。我查了一下......

<?php echo $this->config->item("num_links"); ?> <!-- this dislayed 9 -->

我在这里缺少什么?仅仅为了记录,将配置放在控制器内也不起作用。

更新#1 - 我发现配置设置正确加载但它们没有到达库或类似的东西。在分页库中 - 我做了一些硬编码,发现per_page参数在那里为零。

更新#2 - 当我说配置内联无效时,我错了。它工作正常。自动加载不起作用。

此致

2 个答案:

答案 0 :(得分:2)

最后使用此代码来解决我的问题...

$this->config->load("pagination");
$page_limit = $this->config->item("per_page");
$config['total_rows'] = $var; // Some variable count
$this->pagination->initialize($config);

这让我可以在文件中定义配置项,也可以在控制器中初始化我想要的项目,就像我的情况一样。行 - 从数据库中检索。

此致

答案 1 :(得分:0)

配置文件中的自动加载行应该是

$autoload['libraries'] = array('pagination');

在使用create_links()等之前,必须在配置数组之后在控制器中使用此行。

$this->pagination->initialize($config);