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

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Пагинация в модуле
« : 30.10.2015, 23: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

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Пагинация в модуле
« Ответ #1 : 30.10.2015, 23:39:10 »
Потому что пагинация предназначена для компонентов.
*

bolonia

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

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Пагинация в модуле
« Ответ #3 : 31.10.2015, 00:22:41 »
Для модуля может быть ТОЛЬКО пседвопагинация, то есть через JS, никаких новых урлов быть не может, для этого нужен компонент.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Пагинация в модуле
« Ответ #4 : 31.10.2015, 00:26:51 »
как мне нравится "аля-вот вам код, вод я хочу, и не как"
это типа-вот вам движок он запорожка, я вствил в мерс, но мерс чтото не едет

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

olejenya

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

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Пагинация в модуле
« Ответ #6 : 31.10.2015, 00:57:26 »
Спасибо.
Не за что, в смысле мой ответ заминусовали, такие дела на форуме :-(
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Пагинация в модуле
« Ответ #7 : 31.10.2015, 01:08:59 »
мой ответ заминусовали, такие дела на форуме :-(
Хм, voland, что вы сделали этому bolonia?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Пагинация в модуле
« Ответ #8 : 31.10.2015, 01:11:39 »
Хм, voland, что вы сделали этому bolonia?
Ничего, даже минуса не ставил, что конечно странно.
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Пагинация в модуле
« Ответ #9 : 02.11.2015, 23:52:52 »
Ничего, даже минуса не ставил, что конечно странно.
А он уже два минуса поставил...
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Пагинация в модуле
« Ответ #10 : 03.11.2015, 11: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 вы так же само получаете данные и формируете пагинацию, только надо будет в методе вывести контент
*

vipiusss

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

AlekVolsk

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

vipiusss

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

robert

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

vipiusss

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

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Re: Пагинация в модуле
« Ответ #16 : 03.11.2015, 12:07:46 »
Без JS использовать родную Joomla-пагинацию, думаю, не получится: нужно давать разным блокам разные имена переменных.
На одной странице можно вообще то использовать сколько угодно пагинаций без использования JS
*

robert

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

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Пагинация в модуле
« Ответ #18 : 03.11.2015, 12:28:36 »
robert я просто имел ввиду не передачу, а смену при пагинации.
сорри, не так выразился.
///
а чего тему так усугубили?изза вопроса Алека?
нет спроса-нет вопроса, чего напряглись не изза чего...
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 1479
Последний ответ 06.10.2023, 14:02:24
от Mitriy
Как вставить картинку материала в модуле Последние материалы?

Автор androv77

Ответов: 13
Просмотров: 1082
Последний ответ 20.12.2022, 08:37:38
от marksetter
Не могу найти куда сохранились стили CSS после их обозначения в html модуле

Автор bustdwn

Ответов: 8
Просмотров: 330
Последний ответ 03.10.2022, 14:58:28
от marksetter
Загрузка pdf файла в модуле

Автор sanek2281

Ответов: 0
Просмотров: 303
Последний ответ 15.09.2022, 02:44:44
от sanek2281
Блог категории и пагинация

Автор marksetter

Ответов: 4
Просмотров: 380
Последний ответ 30.06.2022, 08:01:21
от marksetter