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

Vicos

  • Захожу иногда
  • 60
  • 0 / 0
Добрый день!
Подскажите пожалуйста как переопределить количество выводимых постов на странице? Над выводимыми постами будет форма с select -> 20, 40, 60 к примеру. Выбираем страница обновляется и получаем количество нам необходимое.
Компонент самописный.
Изначально задаётся количесвтво в моделе функцией:
Код
public function populateState( $ordering = null, $direction = null )
{
parent::populateState( $ordering, $direction );
$input = JFactory::getApplication()->input;
$params = JComponentHelper::getParams( 'com_sclad' );
$this->setState( 'list.start', $input->get( 'start' ) );
$this->setState( 'list.limit', $params->get( 'limit', 20 ) );
}
Эта
Код
$this->setState( 'list.limit', $params->get( 'limit', 20 ) );
строчка и определяет изначально сколько вывести.
В шаблоне вывода пагинация выводится
Код
<?php echo $this->pagination->getPagesLinks(); ?>
Пробовал изменять и смотрел var_dump($this).
Вроде как выводится в
Код
protected 'query' => 
            object(JDatabaseQueryMysqli)[270]
              protected 'offset' => int 0
              protected 'limit' => int 11
              protected 'db' =>
Даллее формируется запрос.
Как получить доступ к этому значению не пойму.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
$this->pagination->getLimitBox(); выводит селект с лимитами

Текущее значение берется из сессии или запроса:
Код: php
$limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $app->get('list_limit'), 'uint');
« Последнее редактирование: 07.04.2015, 16:46:16 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
А я сначала подумал, что нужно сделать кастомный getLimitBox(). Но, похоже что ТС просто не знал, что в принципе есть getLimitBox() ;)
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
В большинстве случаев может и лучше кастомный написать. Например чтобы изменить шаг в лимитах(+5 по умолчанию)
интернет-блог: http://websiteprog.ru
*

Vicos

  • Захожу иногда
  • 60
  • 0 / 0
Вот это значение:
Код
$limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $app->get('list_limit'), 'uint');
Изначально не то что берётся в функции компонента, т.е. Выводится 20, $limit - 15.
При getLimitBox() форма отрабатывает, значение меняется, но количество не выведенных постов не изменяется.
Может проблема моя в том что
Код
$this->setState( 'list.limit', $params->get( 'limit', 20 ) );
Значение вбито напрямую?
« Последнее редактирование: 07.04.2015, 18:44:20 от Vicos »
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Может проблема моя в том что
Код
$this->setState( 'list.limit', $params->get( 'limit', 20 ) );
Значение вбито напрямую?
Да, именно в этом. Сюда лучше подставлять значение, взятое из системных настроек
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Лучше вобще убрать эту строку иначе всегда оно будет такое, какое в настройках и не будет менятся. Родительский populate state сам получит нужное значение и установит.
интернет-блог: http://websiteprog.ru
*

Vicos

  • Захожу иногда
  • 60
  • 0 / 0
Да, именно в этом. Сюда лучше подставлять значение, взятое из системных настроек
Спасибо! Проблема решена.
*

Vicos

  • Захожу иногда
  • 60
  • 0 / 0
Лучше вобще убрать эту строку иначе всегда оно будет такое, какое в настройках и не будет менятся. Родительский populate state сам получит нужное значение и установит.
Ага, в действительности перегрузка этого метода ни к чему. Ну зато понял как работает пагинация в Joomla.
Спасибо!
« Последнее редактирование: 07.04.2015, 21:11:16 от Vicos »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Публикация новостей пользователем

Автор D-Nik Lubny

Ответов: 0
Просмотров: 653
Последний ответ 17.03.2018, 17:21:37
от D-Nik Lubny
Создание контакта пользователем

Автор kalita

Ответов: 5
Просмотров: 1171
Последний ответ 03.02.2018, 11:00:05
от kalita
Фильтр не сохраняет данные ввода при пагинации

Автор onelawyer

Ответов: 24
Просмотров: 1425
Последний ответ 29.08.2017, 17:33:56
от Aleks.Denezh
Перелистывание баннеров с помощью пагинации

Автор StivenRain

Ответов: 2
Просмотров: 2077
Последний ответ 17.02.2015, 22:56:16
от Aleks.Denezh
Сброс / установка параметров пагинации (pagination) при переходе или обновлении страницы

Автор ninth

Ответов: 16
Просмотров: 2320
Последний ответ 07.09.2014, 16:47:14
от ninth