Чтобы сделать в компоненте Joomla постраничную навигацию, нужно добавить соответствующий код в файлы раскладки, представления и модели.
Для использования постраничной навигации используется класс модели modellist
jimport('joomla.application.component.modellist');
Класс modellist содержит метод getPagination()
public function getPagination()
{
// Get a storage key.
$store = $this->getStoreId('getPagination');
// Try to load the data from internal storage.
if (isset($this->cache[$store]))
{
return $this->cache[$store];
}
// Create the pagination object.
jimport('joomla.html.pagination');
$limit = (int) $this->getState('list.limit') - (int) $this->getState('list.links');
$page = new JPagination($this->getTotal(), $this->getStart(), $limit);
// Add the object to the internal cache.
$this->cache[$store] = $page;
return $this->cache[$store];
}
В файле представления view.html.php создаем объект навигации:
protected $pagination;
и
$this->pagination = $this->get('Pagination');
Теперь в файл раскладки добавляем вывод навигации:
<?php echo $this->pagination->getPagesLinks(); ?>
Есть несколько вариантов вывода:
- getPagesLinks()
- getListFooter()
- getLimitBox()
- getPagesCounter()
Эти функции можно посмотреть в файле pagination.php, который добавляется с помощью
jimport('joomla.html.pagination');