【问题标题】:How to load external config file for pagination in Codeigniter如何在 Codeigniter 中加载外部配置文件以进行分页
【发布时间】:2016-04-30 06:42:07
【问题描述】:

我一直在Codeigniter的文档上,我想要一个用于分页的外部配置文件,所以我做了以下操作:

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

$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();

我以为就这些了。问题是它不起作用。我在网站上搜索了这个,发现这两个问题已经回答了:How to change data in custom loaded config arrayautoload config for pagination in codeigniter not working

他们都建议了以下代码行:

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

但 Codeigniter 的文档说:

在配置文件中设置首选项

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

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

当然,如果我把那行代码放在我自己的代码中,它就可以工作。

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

我在这里遗漏了什么重要的东西吗? 为 Codeigniter 的分页创建外部配置文件的正确方法是什么?

【问题讨论】:

    标签: php codeigniter pagination


    【解决方案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);
    

    在控制器中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      • 2015-10-16
      • 1970-01-01
      相关资源
      最近更新 更多