Форум русской поддержки Joomla!® CMS
08.12.2016, 13:58:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Постраничная навигация для своей модели

 (Прочитано 75 раз)
0 Пользователей и 1 Гость смотрят эту тему.
john.deff
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 112



« : 27.10.2016, 17:47:51 »

Приветствую!
на форуме есть ответы, решения как реализовать стандартную постраничную навигацию для публичной части своего компонента пример: http://joomlaforum.ru/index.php/topic,299372.msg1485005.html#msg1485005

но что если мне необходимо сделать постраничную навигацию для своей модели - файл view.html.php

не так:
Код
$this->items = $this->get( 'Items' );
$this->pagination = $this->get( 'Pagination' );
 

а вот так - мне необходимо в модель передавать параметры, а параметры зависят от ситуации
Код
$model = JModelLegacy::getInstance('object_list','MycompModel');
// То есть мне необходимо в модель передавать параметры!
$this->objects = $model->objects($this->category['cat']->id, NULL, $type);
 
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #1 : 27.10.2016, 20:06:25 »

а вам религия не позволяет сделать так:
$this->items = $this->get( 'Items' );
$this->pagination = $this->get( 'Pagination' );
и в getListQuery() получить $this->category['cat']->id от куда вам надо?
вы же как то получаете $this->category['cat']->id
подозреваю что как то так:
$this->category= $this->get( 'category' );

итого делаете как положено в виде:
$this->category= $this->get( 'category' );
$this->items = $this->get( 'Items' );
$this->pagination = $this->get( 'Pagination' );

А в модели в методе getCategory

$this->setState('category.id', $blabla);

А в методе getListQuery

$categoryId = $this->getState('category.id', '');
Записан
john.deff
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 112



« Ответ #2 : 27.10.2016, 20:58:22 »

а вам религия не позволяет сделать так:
$this->items = $this->get( 'Items' );
$this->pagination = $this->get( 'Pagination' );
и в getListQuery() получить $this->category['cat']->id от куда вам надо?
вы же как то получаете $this->category['cat']->id
подозреваю что как то так:
$this->category= $this->get( 'category' );

итого делаете как положено в виде:
$this->category= $this->get( 'category' );
$this->items = $this->get( 'Items' );
$this->pagination = $this->get( 'Pagination' );

А в модели в методе getCategory

$this->setState('category.id', $blabla);

А в методе getListQuery

$categoryId = $this->getState('category.id', '');


Я думал об Этом)))
Но тогда логику надо переделывать) Благодарю за напутствие "итого делаете как положено в виде:" ))
Записан
Septdir
Живу я здесь
******

Репутация: +35/-3
Online Online

Пол: Мужской
Сообщений: 838


Skype: septdir


« Ответ #3 : 27.10.2016, 21:04:10 »

Чет не понял вопроса ведь есть же дефолтная функция пагинации.
Ну а если так ну вот пример еще вариант прямой коннект с пагинацией (не помню зачем он мне но волялся в закромах). хочу только сразу сказать что total это именно всего итемов, а не кол-во объектов после лимита
Код
$limitstart = 0; // Start Index
$limit = 10; // Limit
// Get Objects
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select(array('SQL_CALC_FOUND_ROWS *')); // Use SQL_CALC_FOUND_ROWS
$query->from($db->quoteName('#__users'));
$db->setQuery($query, $limitstart , $limit);
$objects = $db->loadObjectList();
if (!empty($objects)) {
// Get all objects count
$db->setQuery('SELECT FOUND_ROWS();');
$total = $db->loadResult();
// Initialization pagination
jimport('joomla.html.pagination');
$pagination = new JPagination($total, $limitstart, $limit);
}
echo $pagination->getPagesLinks() //Show pagination
 
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet