Пагинация в модуле

  • 18 Ответов
  • 641 Просмотров

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

*

olejenya

  • Давно я тут
  • ****
  • 218
  • 3
Пагинация в модуле
« : 31.10.2015, 01:29:49 »
Привет всем.Пытаюсь реализовать пагинацию для модуля,
 $limit      = JRequest::getVar('limit', 4);
    $limitstart = JRequest::getVar('limitstart', 0);
    
    $db         =& JFactory::getDBO();
    
    $query    = "SELECT count(*) FROM jos_virtuemart_products";
    $db->setQuery( $query );
    $total    = $db->loadResult();
    
    $query      = "SELECT * FROM jos_virtuemart_products";
    $db->setQuery ( $query, $limitstart, $limit);
    $rows       = $db->loadObjectList();
    
    if ($db->getErrorNum())
    {
      echo $db->stderr();
      return false;
    }
    
    jimport( 'joomla.html.pagination' );
    $pageNav = new JPagination($total, $limitstart, $limit);
    //var_dump($pageNav);
    echo $pageNav->getListFooter();
Пагинация вывелась, но теперь когда щелкаешь, она добавляет в строку юрл, номирацию страниц, это не очень красиво, и мне не надо впринциппе это.Что сделать, как убрать?

*

voland

  • Профи
  • ********
  • 9378
  • 421
  • СКАЙП утерян! Пишите в телеграм @volandku
Re: Пагинация в модуле
« Ответ #1 : 31.10.2015, 01:39:10 »
Потому что пагинация предназначена для компонентов.

*

bolonia

  • Давно я тут
  • ****
  • 203
  • 25
Re: Пагинация в модуле
« Ответ #2 : 31.10.2015, 02:18:08 »
Переопределить текущую пагинацию в Joomla наверное не вариант, так что писать свою реализацию.
Бесплатный модуль обратного звонка / обратной связи для J3: http://joomlaforum.ru/index.php?topic=309065.0

*

voland

  • Профи
  • ********
  • 9378
  • 421
  • СКАЙП утерян! Пишите в телеграм @volandku
Re: Пагинация в модуле
« Ответ #3 : 31.10.2015, 02:22:41 »
Для модуля может быть ТОЛЬКО пседвопагинация, то есть через JS, никаких новых урлов быть не может, для этого нужен компонент.

*

vipiusss

  • Профи
  • ********
  • 5521
  • 318
  • JoomlaNet
Re: Пагинация в модуле
« Ответ #4 : 31.10.2015, 02:26:51 »
как мне нравится "аля-вот вам код, вод я хочу, и не как"
это типа-вот вам движок он запорожка, я вствил в мерс, но мерс чтото не едет

ТСвам правильно советуют, ну куда вы ваш код, скопированный тулить будете?
А до кода что?.Ну одно дело не шарят, но другое-тут же код дали...
Чем больше я читаю такие темы, тем более я люблю своего кота!
Voland-ещё раз привет.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

olejenya

  • Давно я тут
  • ****
  • 218
  • 3
Re: Пагинация в модуле
« Ответ #5 : 31.10.2015, 02:56:15 »
просто не хотел свое писать, потому что больше года не занимался этим, решил быстрым способом реализовать.
Мне надо как раз чистый юрл.понял, дурацкая идея.Спасибо.

*

voland

  • Профи
  • ********
  • 9378
  • 421
  • СКАЙП утерян! Пишите в телеграм @volandku
Re: Пагинация в модуле
« Ответ #6 : 31.10.2015, 02:57:26 »
Спасибо.
Не за что, в смысле мой ответ заминусовали, такие дела на форуме :-(

*

robert

  • Профи
  • ********
  • 4006
  • 371
Re: Пагинация в модуле
« Ответ #7 : 31.10.2015, 03:08:59 »
мой ответ заминусовали, такие дела на форуме :-(
Хм, voland, что вы сделали этому bolonia?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

voland

  • Профи
  • ********
  • 9378
  • 421
  • СКАЙП утерян! Пишите в телеграм @volandku
Re: Пагинация в модуле
« Ответ #8 : 31.10.2015, 03:11:39 »
Хм, voland, что вы сделали этому bolonia?
Ничего, даже минуса не ставил, что конечно странно.

*

umbabaraumba

  • Практически профи
  • *******
  • 2441
  • 152
  • если помог можете поставить +
Re: Пагинация в модуле
« Ответ #9 : 03.11.2015, 01:52:52 »
Ничего, даже минуса не ставил, что конечно странно.
А он уже два минуса поставил...
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
Re: Пагинация в модуле
« Ответ #10 : 03.11.2015, 13:07:48 »
Пагинация вывелась, но теперь когда щелкаешь, она добавляет в строку юрл, номирацию страниц, это не очень красиво, и мне не надо впринциппе это.Что сделать, как убрать?
перехват пагинации через JS, отправка аяксом в модуль, и вывод там контента модуля вместе с пагинацией, только так не будет добавляться нумирация страниц!


Потому что пагинация предназначена для компонентов.
Что честно? Именно для компонентов? А пагинация об этом знает?!

Для модуля может быть ТОЛЬКО пседвопагинация, то есть через JS, никаких новых урлов быть не может, для этого нужен компонент.
А чем модуль отличается от компонента? Тем что компонент выводится в <jdoc:include type="component" /> А модуль в <jdoc:include type="modules" name="name" />! Что  там что там выводится произовльный кусок кода!


просто не хотел свое писать, потому что больше года не занимался этим, решил быстрым способом реализовать.
Мне надо как раз чистый юрл.понял, дурацкая идея.Спасибо.
Да ничего дурацкого!
Вот пример: http://med53.ru/ модуль внизу "Новые отзывы о врачах и мед.учреждениях", как раз таки стандартная пагинация + AJAX!
Работает так!
Выводите как выводили, а дальше перехват клика:
Код: php
<script>
jQuery(document).ready(function ($) {
$(document).on('click', '.home-comment-pagination a', function () {
$.get($(this).attr('href') + '&option=com_ajax&module=wss_content&method=getComments&format=raw&Itemid=101', function (responce) {
$('.ajax-comments-wrapper').html(responce);
});
return false;
});
});
</script>
.home-comment-pagination - это блок в котором пагинация (называете как вам удобно, это что бы пагинация не была перехвачена в компоненте)
module=wss_content - имя вашего модуля в который вы стучитесь (без приставки mod)
method=getComments - имя метода в который вы стучитесь
&Itemid=101 - если у вас модуль отображается только на определенных страницах, то обязательно передавать Itemid текущей страницы!


А дальше идете в файл helper.php вашего модуля и там в классе добавляете метод:
Код: php
static function getCommentsAjax(){
//тут получаете все что вам нужно по данным и пагинации из $_REQUEST
?>
тут выводим разметку модуля и пагинацию
<?php
}

в getCommentsAjax вы так же само получаете данные и формируете пагинацию, только надо будет в методе вывести контент
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

vipiusss

  • Профи
  • ********
  • 5521
  • 318
  • JoomlaNet
Re: Пагинация в модуле
« Ответ #11 : 03.11.2015, 13:13:51 »
вот ты заморочился,+1 в репу.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

AlekVolsk

  • Профи
  • ********
  • 6301
  • 336
Re: Пагинация в модуле
« Ответ #12 : 03.11.2015, 13:19:03 »
интересно что насоветовали бы (кроме Istaan - он-то точно ответ знает), если бы нужно было в одном компоненте на одной странице вывести три пагинатора?

*

vipiusss

  • Профи
  • ********
  • 5521
  • 318
  • JoomlaNet
Re: Пагинация в модуле
« Ответ #13 : 03.11.2015, 13:23:58 »
послали бы в хелпер ;D
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

robert

  • Профи
  • ********
  • 4006
  • 371
Re: Пагинация в модуле
« Ответ #14 : 03.11.2015, 13:58:05 »
интересно что насоветовали бы (кроме Istaan - он-то точно ответ знает), если бы нужно было в одном компоненте на одной странице вывести три пагинатора?
А что представляет собой пагинация? Это просто набор ссылок с разными значениями limit и limistart. Без JS использовать родную Joomla-пагинацию, думаю, не получится: нужно давать разным блокам разные имена переменных. С JS - хоть десять: наверняка уже видели, как основная картинка меняется при клике на иконки внизу, чем это не пагинация?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

vipiusss

  • Профи
  • ********
  • 5521
  • 318
  • JoomlaNet
Re: Пагинация в модуле
« Ответ #15 : 03.11.2015, 14:02:58 »
основная картинка меняется при клике на иконки внизу, чем это не пагинация?
а зачем скрипт?можно и CSS ведь.....
вообще, при чём тут пагинация и модуль?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
Re: Пагинация в модуле
« Ответ #16 : 03.11.2015, 14:07:46 »
Без JS использовать родную Joomla-пагинацию, думаю, не получится: нужно давать разным блокам разные имена переменных.
На одной странице можно вообще то использовать сколько угодно пагинаций без использования JS
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

robert

  • Профи
  • ********
  • 4006
  • 371
Re: Пагинация в модуле
« Ответ #17 : 03.11.2015, 14:22:19 »
а зачем скрипт?можно и CSS ведь.....
Да? Тогда подскажите, как посредством CSS передать данные?
На одной странице можно вообще то использовать сколько угодно пагинаций без использования JS
Возможно, но не углублялся, предпочитаю AJAX'ом получить данные, благо кода совсем немного.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

vipiusss

  • Профи
  • ********
  • 5521
  • 318
  • JoomlaNet
Re: Пагинация в модуле
« Ответ #18 : 03.11.2015, 14:28:36 »
robert я просто имел ввиду не передачу, а смену при пагинации.
сорри, не так выразился.
///
а чего тему так усугубили?изза вопроса Алека?
нет спроса-нет вопроса, чего напряглись не изза чего...
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями