Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Pagination

Komponen NexaPagination menghasilkan HTML navigasi halaman (First, Previous, angka, Next, Last). Di controller, akses lewat $this->NexaPagination() — magic method __call pada NexaController yang memuat komponen terdaftar di NexaUI.

NexaController NexaPagination NexaUI · render assignVar

Akses dari controller

Panggilan $this->NexaPagination() mengembalikan instance App\System\Components\NexaPagination jika nama komponen pagination terdaftar di NexaUI. Hanya method yang diawali Nexa yang diproses oleh __call.

render($current, $total, $baseUrl)

  • $current — halaman aktif (bilangan bulat).
  • $total — jumlah halaman terakhir (last_page).
  • $baseUrl — awalan URL; nomor halaman disambung langsung di akhir string (mis. link halaman 3 = $baseUrl . '3').

Selalu sesuaikan $baseUrl dengan query string atau path yang dipahami router Anda (filter, sort, segment pages/, dll.).

if (!empty($requestParams['categori'])) { $baseUrl = $params['page_index'] . "?sort=" . $requestParams['sort'] . "&categori=" . $requestParams['categori'] . "&pages/"; } else { $baseUrl = $params['page_index'] . "/pages/"; } $paginationHTML = $this->NexaPagination()->render( $searchResults['current_page'], $searchResults['last_page'], $baseUrl ); $this->assignVar('pagination', $paginationHTML);

Data numerik tambahan (total record, dll.) bisa dikirim lewat assignVars seperti kebutuhan template Anda.

Di template

Tempatkan variabel yang sudah di-assignVar:

{pagination}

Perilaku singkat

  • Jika $total <= 1, render mengembalikan string kosong (tidak ada markup).
  • Jika $current, $total, atau $baseUrl dianggap kosong oleh PHP (empty), dikembalikan <div class="pagination-error"></div>.
  • Setiap pemanggilan render menyimpan snapshot ke sesi (page-link) lewat NexaSession — berguna untuk komponen lain yang membaca halaman aktif.
  • Markup memakai class="pagination" dan class="page-link" (aktif: page-link active).

Method pembantu (opsional)

Pada instance yang sama: getCurrentPageFromSession(), getCurrentPageNumber(), getCurrentPageUrl(), clearPageSession() — membaca atau menghapus data page-link di sesi.

Lanjut

Sebelumnya: Loops & blok. Berikutnya: Search keyword. Indeks Helper · Dokumentasi · Beranda.