0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 3267 Просмотров
*

Зверушь

  • Новичок
  • 5
  • 0 / 0
  • Учусь
Здравствуйте. Подскажите пожалуйста с пагинацией в Joomla 2.5
Пишу компонент, где в публичной части идет загрузка элементов из БД и их вывод. Конкретно - это гостевая книга. Вывод панели пагинации я осуществил, но вот задача... Я хочу, чтобы пользователь не мог выбирать сколько элементов выводить на одну страницу. Я хочу это количество жестко прописать в коде. Но куда его писать?
Объект пагинации получаю в классе представления при помощи $this->getPagination(); Куда вписать количество элементов на страницу? Смотрел родительский класс, этот метод не принимает параметров....
Пробовал переопределять этот метод, игрался с строкой $page = new JPagination($this->getTotal(), $this->getStart(), $limit); но какие значения я бы ни вписывал в параметры, получается в итоге черти что...
Я в растерянности, подскажите куда копать и что я делал не так.

Заранее большое спасибо!
« Последнее редактирование: 10.01.2014, 16:15:37 от b2z »
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Не совсем понял что вы не хотите что бы пользователь выбирал? Вы что то не закончили фразу!
Вы имеете ввиду что не хотите что бы юзер мог выбирать количество записей на странице через select?
*

Зверушь

  • Новичок
  • 5
  • 0 / 0
  • Учусь
Да, правильно.
Извините, если не совсем понятно описал проблему.
Я хочу, чтобы этот select с выбором количества сообщений на одну страницу не был доступен в пользовательской части. Но, в любом случае, какое-то максимально допустимое количество элементов на одной странице должно быть задано.

Пока что методом тыка добился следующего: в модели переопределяю метод getPagination() :
Код: php
public function getPagination() {
$this->setState('list.limit', 10); //10 - это максимальное количество элементов на одну страницу
return parent::getPagination();
}
В итоге в шаблоне метод $this->pagination->getPagesLinks(); правильно выводит количество страниц, но все они ведут на 1ю страницу, на которой не 10 элементов, а все 20 - как задано по умолчанию...
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Так просто не выводите этот селект!
он же выводится отдельно $this->pagination->getPagesLinks(); - эти вывод самой пагинации
$this->pagination->getPagesLinks(); - просто вывод только пагинации
$this->paginaion->getLimitBox(); - вывод этого лимит бокса!

Вообще вы неправильно делаете модель в модели у вас должно быть так:
Код: php
class ИмяКомпонентаModelИмяВида extends JModelList
{
private $input;
public function __construct( $config = array() )
{
parent::__construct( $config );
$this->input = JFactory::getApplication()->input;
}

protected function getListQuery()
{
$this->setState( 'list.start', $this->input->get( 'start' ) );
$this->setState( 'list.limit', 10 );
$query = $this->getDbo()->getQuery( true );
$query->select( '*' )->from( '#__table' )->where( 'published=1' );
return $query;
}
}
все! в методе getListQuery() просто запрос для того что бы вывести записи! Возврат только запроса!
в виде:
Код: php
class ИмяКомпонентаViewИмяВидаextends JViewLegacy
{
protected $items;
protected $pagination;
public function display( $tpl = null )
{
$this->items = $this->get( 'Items' ); //получаем список записей
$this->pagination = $this->get( 'Pagination' ); //получаем пагинацию
parent::display( $tpl );
}
}

в шаблоне вида перебираем записи
Код: php
<?php foreach ( $this->items as $item ): ?>
<?php endforeach; ?>
//выводим пагинацию
<?php echo $this->pagination->getPagesLinks(); ?>
*

Зверушь

  • Новичок
  • 5
  • 0 / 0
  • Учусь
Спасибо большое!
Благодаря вам у меня получилось сделать то, что я хочу!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как и чем можно обращаться с запросами из Joomla к GraphQL?

Автор bmf1982

Ответов: 0
Просмотров: 618
Последний ответ 03.10.2019, 15:46:00
от bmf1982
Joomla как система авторизации

Автор kav

Ответов: 23
Просмотров: 2298
Последний ответ 29.04.2018, 11:10:30
от Aleks.Denezh
Нужна помощь в доработке модуля под Joomla 3

Автор kik84

Ответов: 5
Просмотров: 2278
Последний ответ 30.01.2018, 22:40:30
от Елeна
Как в модели ограничить количество выводимых материалов для каждой категории?

Автор fbr

Ответов: 12
Просмотров: 1301
Последний ответ 05.09.2015, 23:43:47
от robert
Как отучить Joomla стартовать session для гостей?

Автор commeta

Ответов: 8
Просмотров: 2908
Последний ответ 20.08.2015, 14:06:38
от acyp