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

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

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

 (Прочитано 449 раз)
0 Пользователей и 1 Гость смотрят эту тему.
olejenya
Давно я тут
****

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

Сообщений: 218


« : 31.10.2015, 00: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
Профи
********

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

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


любит наш народ всякое гавно...


« Ответ #1 : 31.10.2015, 00:39:10 »

Потому что пагинация предназначена для компонентов.
Записан
bolonia
Осваиваюсь на форуме
***

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

Сообщений: 197



« Ответ #2 : 31.10.2015, 01:18:08 »

Переопределить текущую пагинацию в Joomla наверное не вариант, так что писать свою реализацию.
Записан
voland
Профи
********

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

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


любит наш народ всякое гавно...


« Ответ #3 : 31.10.2015, 01:22:41 »

Для модуля может быть ТОЛЬКО пседвопагинация, то есть через JS, никаких новых урлов быть не может, для этого нужен компонент.
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #4 : 31.10.2015, 01:26:51 »

как мне нравится "аля-вот вам код, вод я хочу, и не как"
это типа-вот вам движок он запорожка, я вствил в мерс, но мерс чтото не едет

ТСвам правильно советуют, ну куда вы ваш код, скопированный тулить будете?
А до кода что?.Ну одно дело не шарят, но другое-тут же код дали...
Чем больше я читаю такие темы, тем более я люблю своего кота!
Voland-ещё раз привет.
Записан
olejenya
Давно я тут
****

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

Сообщений: 218


« Ответ #5 : 31.10.2015, 01:56:15 »

просто не хотел свое писать, потому что больше года не занимался этим, решил быстрым способом реализовать.
Мне надо как раз чистый юрл.понял, дурацкая идея.Спасибо.
Записан
voland
Профи
********

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

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


любит наш народ всякое гавно...


« Ответ #6 : 31.10.2015, 01:57:26 »

Спасибо.
Не за что, в смысле мой ответ заминусовали, такие дела на форуме :-(
Записан
robert
Профи
********

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

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


« Ответ #7 : 31.10.2015, 02:08:59 »

мой ответ заминусовали, такие дела на форуме :-(
Хм, voland, что вы сделали этому bolonia?
Записан
voland
Профи
********

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

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


любит наш народ всякое гавно...


« Ответ #8 : 31.10.2015, 02:11:39 »

Хм, voland, что вы сделали этому bolonia?
Ничего, даже минуса не ставил, что конечно странно.
Записан
umbabaraumba
Практически профи
*******

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

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

если помог можете поставить +


« Ответ #9 : 03.11.2015, 00:52:52 »

Ничего, даже минуса не ставил, что конечно странно.
А он уже два минуса поставил...
Записан
Aleks.Denezh
Практически профи
*******

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

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



« Ответ #10 : 03.11.2015, 12:07:48 »

Пагинация вывелась, но теперь когда щелкаешь, она добавляет в строку юрл, номирацию страниц, это не очень красиво, и мне не надо впринциппе это.Что сделать, как убрать?
перехват пагинации через JS, отправка аяксом в модуль, и вывод там контента модуля вместе с пагинацией, только так не будет добавляться нумирация страниц!


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

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


просто не хотел свое писать, потому что больше года не занимался этим, решил быстрым способом реализовать.
Мне надо как раз чистый юрл.понял, дурацкая идея.Спасибо.
Да ничего дурацкого!
Вот пример: http://med53.ru/ модуль внизу "Новые отзывы о врачах и мед.учреждениях", как раз таки стандартная пагинация + AJAX!
Работает так!
Выводите как выводили, а дальше перехват клика:
Код
<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 вашего модуля и там в классе добавляете метод:
Код
static function getCommentsAjax(){
//тут получаете все что вам нужно по данным и пагинации из $_REQUEST
?>
тут выводим разметку модуля и пагинацию
<?php
}
 

в getCommentsAjax вы так же само получаете данные и формируете пагинацию, только надо будет в методе вывести контент
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #11 : 03.11.2015, 12:13:51 »

вот ты заморочился,+1 в репу.
Записан
AlekVolsk
Профи
********

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

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



« Ответ #12 : 03.11.2015, 12:19:03 »

интересно что насоветовали бы (кроме Istaan - он-то точно ответ знает), если бы нужно было в одном компоненте на одной странице вывести три пагинатора?
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #13 : 03.11.2015, 12:23:58 »

послали бы в хелпер Grin
Записан
robert
Профи
********

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

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


« Ответ #14 : 03.11.2015, 12:58:05 »

интересно что насоветовали бы (кроме Istaan - он-то точно ответ знает), если бы нужно было в одном компоненте на одной странице вывести три пагинатора?
А что представляет собой пагинация? Это просто набор ссылок с разными значениями limit и limistart. Без JS использовать родную Joomla-пагинацию, думаю, не получится: нужно давать разным блокам разные имена переменных. С JS - хоть десять: наверняка уже видели, как основная картинка меняется при клике на иконки внизу, чем это не пагинация?
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #15 : 03.11.2015, 13:02:58 »

основная картинка меняется при клике на иконки внизу, чем это не пагинация?
а зачем скрипт?можно и CSS ведь.....
вообще, при чём тут пагинация и модуль?
Записан
Aleks.Denezh
Практически профи
*******

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

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



« Ответ #16 : 03.11.2015, 13:07:46 »

Без JS использовать родную Joomla-пагинацию, думаю, не получится: нужно давать разным блокам разные имена переменных.
На одной странице можно вообще то использовать сколько угодно пагинаций без использования JS
Записан
robert
Профи
********

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

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


« Ответ #17 : 03.11.2015, 13:22:19 »

а зачем скрипт?можно и CSS ведь.....
Да? Тогда подскажите, как посредством CSS передать данные?
На одной странице можно вообще то использовать сколько угодно пагинаций без использования JS
Возможно, но не углублялся, предпочитаю AJAX'ом получить данные, благо кода совсем немного.
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #18 : 03.11.2015, 13:28:36 »

robert я просто имел ввиду не передачу, а смену при пагинации.
сорри, не так выразился.
///
а чего тему так усугубили?изза вопроса Алека?
нет спроса-нет вопроса, чего напряглись не изза чего...
Записан
Страниц: [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