Как я могу скрыть ссылки на страницы в классе разбиения на страницы в Codeigniter?


Я пытаюсь добиться следующего эффекта:

Prev 1 of 4 Next

Я попытался установить следующий параметр $config:

$config['num_links'] = 0;

Но я получаю следующую ошибку:

Количество ваших ссылок должно быть положительным числом.

Мои параметры конфигурации заданы следующим образом:

    $config['base_url'] = "/browse/tag/$tid/";
    $config['total_rows'] = $num_items;
    $config['per_page'] = $max_items;
    $config['first_link'] = FALSE;
    $config['last_link'] = FALSE;
    $config['uri_segment'] = 4;
    $config['use_page_numbers'] = TRUE;
    $config['display_pages'] = TRUE;
    $config['num_links'] = 0; # this doesn't work
    $config['prev_link'] = 'Previous';
    $config['next_link'] = 'Next';
    $config['cur_tag_open'] = '<span>';
    $config['cur_tag_close'] = " of $pages</span>";
    $config['full_tag_open'] = '<div class="previousnext">';
    $config['full_tag_close'] = '</div>';

Если я изменю num_links на 1, я, очевидно, получу:

Prev 1 2 of 4 3 Next

И если я выключу display_pages, я получу:

Prev Next

На данном этапе я хотел бы избежать моддинга основного кода.

Author: Chris, 2013-02-10

2 answers

Если для вас нормально иметь цифровые ссылки на exitst в HTML, но не отображаться, вы можете просто скрыть их с помощью CSS.

Используйте $config['num_tag_open'] для определения открытого тега с классом, например:

$config['num_tag_open'] = '<div class="hidden">';

А затем просто добавьте CSS:

.hidden { display: none; }
 4
Author: Michal M, 2013-02-10 10:27:17

Вам необходимо расширить класс разбиения на страницы , создав файл MY_Pagination.php в каталоге application/libraries и используя его для переопределения функции create_links(), которая отвечает за повторение списка страниц.

MY_Pagination.php

class MY_Pagination extends CI_Pagination{
    public function __construct(){
        parent::__construct();
    }

    public function create_links(){
        //copy and paste the logic from system/libraries/Pagination.php
        //but reimplement lines ~258-296 (CI 2.1.3) 
    }
}

Внося изменения в каталог приложений и расширяя ядро, вы защищаете себя от будущих обновлений ядра (например, с 2.1.3 до 3.0).

 3
Author: Jordan Arseno, 2013-02-10 10:26:06