Podręcznik użytkownika CodeIgniter wersja 2.2.1


Klasa Pagination

Klasa Pagination jest bardzo łatwa w użyciu i w 100% konfigurowalna, zarówno dynamicznie jak i poprzez zapisane preferencje.

Jeśli nie jesteś zaznajomiony z terminem "stronicowania", to odnosi się on do linków, które pozwalają na nawigowanie od strony do strony, jak tutaj:

« First  < 1 2 3 4 5 >  Last »

Przykład

Oto przykład, w jaki sposób utworzyć stronicowanie w jednej z metod Twojego kontrolera:

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

$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20;

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

echo $this->pagination->create_links();

Uwagi:

Tablica $config zawiera Twoje wartości konfiguracyjne. Są one przypisywane do funkcji $this->pagination->initialize jak przedstawiono powyżej. Minimalnie musisz użyć trzech zmiennych. Oto co one sobą reprezentują:

Funkcja create_links() zwraca pusty ciąg, jeśli nie ma żadnych stron do pokazania.

Ustawianie preferencji za pomocą pliku konfiguracyjnego

Jeśli nie chcesz ustawiać preferencji za pomocą powyższej metody, możesz je umieścić w pliku konfiguracyjnym. Wystarczy, że utworzysz plik o nazwie pagination.php z tablicą $config w środku i zapiszesz go w config/pagination.php, a zostanie on użyty automatycznie. Jeśli Twoje ustawienia preferencji znajdują się w pliku konfiguracyjnym, NIE będziesz musiał korzystać z funkcji $this->pagination->initialize().

Dostosowywanie "stronicowania"

Oto lista wszystkich preferencji jakie można przypisać do funkcji inijalizacji aby dostosować wygląd "stronicowania".

$config['uri_segment'] = 3;

Funkcja "stronicowania" automatycznie określa, który segment adresu URL zawiera numer strony. Jeśli chcesz, możesz określić inną wartość.

$config['num_links'] = 2;

Określa liczbę linków, która ma zostać wyświetlona przed i po wybranym numerze strony. Dla przykładu, liczna 2 umieści dwa linki po obu stronach, tak jak w przykładzie na samej górze tej strony.

$config['page_query_string'] = TRUE

Domyślnie, biblioteka Pagination zakłada, że używasz segmentów URI i budujesz swoje linki w sposób podobny do tego

http://example.com/index.php/test/page/20

Jeśli zmienną $config['enable_query_strings'] masz ustawioną na wartość TRUE, Twoje linki zostaną automatycznie przepisane za pomocą Query Strings. Ta opcja może zostać ustawiona również wprost. Gdy zmienna $config['page_query_string'] jest ustawiona na wartość TRUE, linki "stronicowania" będą miały postać

http://example.com/index.php?c=test&m=page&per_page=20

Zauważ że do zmiennej "per_page" domyślnie przypisywany jest ciąg query, może to zostać zmienione poprzez ustawienie zmiennej $config['query_string_segment'] = 'your_string'

Dodawanie znaczników

Jeśli chciałbyś otoczyć całe "stronicowanie" jakimś znacznikiem, możesz to zrobić za pomocą tych dwóch preferencji:

$config['full_tag_open'] = '<p>';

Tag otwierający lewą stronę znacznika.

$config['full_tag_close'] = '</p>';

Tag zamykający prawą stronę znacznika.

Dostosowywanie linku "pierwszy"

$config['first_link'] = 'First';

Tekst, który chciałbyś umieścić w linku "pierwszy". Jeśli nie chcesz żeby ten link był generowany ustaw wartość FALSE.

$config['first_tag_open'] = '<div>';

Tag otwierający dla linku "pierwszy".

$config['first_tag_close'] = '</div>';

Tag zamykający dla linku "pierwszy".

Dostosowywanie linku "ostatni"

$config['last_link'] = 'Last';

Tekst, który chciałbyś umieścić w linku "ostatni". Jeśli nie chcesz żeby ten link był generowany ustaw wartość FALSE.

$config['last_tag_open'] = '<div>';

Tag otwierający dla linku "ostatni".

$config['last_tag_close'] = '</div>';

Tag zamykający dla linku "ostatni".

Dostosowywanie linku "następny"

$config['next_link'] = '&gt;';

Tekst, który chciałbyś umieścić w linku "następny". Jeśli nie chcesz żeby ten link był generowany ustaw wartość FALSE.

$config['next_tag_open'] = '<div>';

Tag otwierający dla linku "następny".

$config['next_tag_close'] = '</div>';

Tag zamykający dla linku "następny".

Dostosowywanie linku "poprzedni"

$config['prev_link'] = '&lt;';

Tekst, który chciałbyś umieścić w linku "poprzedni". Jeśli nie chcesz żeby ten link był generowany ustaw wartość FALSE.

$config['prev_tag_open'] = '<div>';

Tag otwierający dla linku "poprzedni".

$config['prev_tag_close'] = '</div>';

Tag zamykający dla linku "poprzedni".

Dostosowywanie linku "obecnej strony"

$config['cur_tag_open'] = '<b>';

Tag otwierający dla linku "obecnej strony".

$config['cur_tag_close'] = '</b>';

Tag zamykający dla linku "obecnej strony".

Dostosowywanie linków zawierających numery stron

$config['num_tag_open'] = '<div>';

Tag otwierający dla linku z numerem strony.

$config['num_tag_close'] = '</div>';

Tag zamykający dla linku z numerem strony

Ukrywanie stron

Jeśli nie chcesz wyświetlać linków dla stron (np. chcesz tylko linki "poprzedni" i "następny"), możesz je wyeliminować poprzez dodanie:

$config['display_pages'] = FALSE;

Dodawanie nazwy klasy do każdego linku

Jeśli chesz dodać atrybut klasy do każdego linku w klasie Pagination, możesz ustawić zmienną config "anchor_class" na taką nazwę klasy, na jaką chcesz.