Это решение не требует изменения файлов ядра или шаблонов.Если у вас есть контроль над кодом компонента, используйте следующий код непосредственно в вашей модели:
protected function populateState($ordering = null, $direction = null)
{
// Initialise variables.
$app = JFactory::getApplication();
// List state information
$limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $app->get('list_limit'));
Измените строку:
$limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $app->get('list_limit'));
на эту
$limit = 50;
или любое другое число, которое вы хотите.
Если вы попытаетесь установить для свойства пагинации объекта JPagination
в представлении что-то еще, как было предложено в ответе @IberoMedia, то JPagination
Свойства будут изменены, как проверяется с помощью echo var_dump($this->pagination);
, но изменения в пределах не будут внесены до того, как записи будут извлечены из базы данных.Поэтому база данных по-прежнему будет предоставлять ограниченный список.Вот почему вам нужно взломать саму модель и замкнуть вызов ограничения глобального списка для приложения в модели, прежде чем запрашивать базу данных.
Вероятно, есть более продуманный способ сделать это.Кто-нибудь знает способ изменить глобальное значение на лету при визуализации страницы и до запроса таблицы базы данных?Я должен думать, что такая вещь будет более безопасной, многоразовой и более универсальной.