如何在Codeigniter中加载外部配置文件以进行分页

时间:2016-04-30 06:42:08

标签: php codeigniter pagination

我已经访问了@Override protected void onPostExecute(String jsonString) { if (progressDialog != null) { progressDialog.setVisibility(View.GONE); } if (jsonString != null) { movieList.clear(); getMovieDataFromJson(jsonString); if (listViewAdapter == null) { listViewAdapter = new ListViewAdapter(MovieSearch.this, movieList); } else { listViewAdapter.notifyDataSetChanged(); } } } 的文档,我希望有一个外部配置文件进行分页,所以我做了以下内容:

我将Codeigniter数组放在$config中,然后在每个控制器上我需要使用配置文件进行分页我将使用:

config/pagination.php

我以为就是这样。问题是它不起作用。我在网站上搜索过此内容,发现这两个问题已经得到解答:How to change data in custom loaded config arrayautoload config for pagination in codeigniter not working

他们都提出了以下代码:

$this->load->library('pagination');
$config['base_url'] = $base_url;
$config['total_rows'] = $total_rows;
$config['per_page'] = $per_page;
$pag_links = $this->pagination->create_links();

但是Codeigniter的文档说:

  

在配置文件中设置首选项

     

如果您不想使用上述方法设置首选项,则可以   而是将它们放入配置文件中。只需创建一个名为的新文件   pagination.php,在该文件中添加$ config数组。然后保存文件   在application / config / pagination.php中,它将被使用   自动。你不需要使用   $ this-> pagination-> initialize()如果您将首选项保存在   配置文件。

嗯,重要的部分是如果您将首选项保存在配置文件中,则不需要使用$ this-> pagination-> initialize()。

当然,如果我把这行代码放在我自己的代码中就可以了。

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

我错过了重要的事情吗? 为Codeigniter的分页创建外部配置文件的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您的配置数组应存储在application / config / pagination.php中 然后,您无需添加:

$this->load->library('pagination');
$config['base_url'] = $base_url;
$config['total_rows'] = $total_rows;
$config['per_page'] = $per_page;

在控制器中只调用库

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

因为您创建的配置中有这些... 我只能想到你是否在配置文件中使用变量$ total_rows等自动加载,因为它们不会引用外部文件中的任何内容......你需要直接指定值,例如:

$config['total_rows'] = 200;

但是,如果需要在控制器内指定这些值,则需要使用您所说的方式并使用

$pagination->initialize($config);

在控制器中。