Конфигурация автозагрузки для разбиения на страницы в CodeIgniter не работает - PullRequest
4 голосов
/ 23 июля 2010

Я пытаюсь реализовать нумерацию страниц в моем веб-приложении CI. Теперь я помещаю конфигурацию для разбивки на страницы внутри файла конфигурации, как это ...

<?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 ]

2 голосов
/ 29 июля 2010

Наконец-то использовал этот код для решения моей проблемы ...

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

Это позволяет мне определить элементы конфигурации в файле, а также инициализировать элементы, которые я хочу в контроллере, как в моем случае, общее число нет. строк - извлечено из базы данных.

Привет

0 голосов
/ 23 июля 2010

Ваша строка автозагрузки в вашем конфигурационном файле должна быть такой

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

И эта строка должна быть в вашем контроллере после массива конфигурации, прежде чем использовать create_links () и т. Д.

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