1

我最近参加了 CodeIgniter 培训,因为我终于想为我不断增长的 PHP/MySQL 项目采用 MVC 架构。现在我遇到了一个问题 PAgination configuratino,据我所知,它显然没有在前面描述过。

可能问题不仅与 PAgination 有关,而且更普遍。在我的第一次尝试中,我只是在控制器方法中填写了配置并将其传递给 initialize() 方法:

$config['base_url'] = $this->config->base_url() .  "/categorie/{$catName}/";
$config['total_rows'] =      $this->event_model->get_nrofevents_for_categorie($categorieObject->id, TRUE);
$config['per_page'] = 12;
$config['full_tag_open'] = '<div class="paging">';
$config['full_Tag_close'] = '</div>';
$config['prev_link'] = 'Vorige';
$config['next_link'] = 'Volgende';
$this->pagination->initialize($config);

这很好用。但是我有很多其他页面使用相同的分页,其大多数参数相同,只有 base_url 和 total_rows 配置属性对于每个页面是不同的。我已将通用配置放在 config/pagination.php 配置文件中,但看不到在代码中添加页面相关属性的选项。更一般地说,是否可以将通用配置放在配置文件中并在控制器方法中添加一些自定义属性?对我来说,这似乎合乎逻辑,但无法弄清楚如何......我尝试了类似的东西:

$this->load->config('pagination');
$this->config->set_item('next_link', 'blablabla');

但似乎在读取配置文件后立即初始化分页,并且此代码无效。请问有什么建议吗?

4

2 回答 2

6

由于initialize()唯一替换了您提供的键,因此您可以config/pagination.php保留默认值并initialize()使用更改的值调用。

配置/分页.php

 // put default values here
 $config['next_link'] = 'Volgende';
 $config['prev_link'] = 'Vorige';
 // ...

控制器

 $this->pagination->initialize(array(
     'base_url' => base_url().'categorie/'.$catName.'/',
     'total_rows' => $totalRows,
      // ...
 )));
于 2012-08-02T15:23:51.773 回答
0

不要使用 base_url()... 我总是使用 site_url();

$config['base_url'] = site_url('');
于 2015-12-02T08:00:53.493 回答