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

zhalexei

  • Новичок
  • 2
  • 0 / 0
mod_zooitem и Pagination
« : 07.04.2012, 13:56:41 »
mod_zooitem выводит только первые N элементов указанные в настройках.
возможно ли добавить pagination-строку с количеством страниц со всеми элементами?
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
Re: mod_zooitem и Pagination
« Ответ #1 : 07.04.2012, 17:32:16 »
вполне реально но нужно ли?
R331474010295
*

Georgiy77

  • Захожу иногда
  • 164
  • 2 / 0
  • Развивайся, живи, люби - ты на пути!
Re: mod_zooitem и Pagination
« Ответ #2 : 07.04.2012, 19:39:06 »
Да, нужно, очень нужно! :)
« Последнее редактирование: 07.04.2012, 19:43:46 от Georgiy77 »
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
Re: mod_zooitem и Pagination
« Ответ #3 : 07.04.2012, 19:55:59 »
1 .представить вывод в виде таблицы
2. в конец таблицы вставить

Код
<div id="pageNavPosition" align="center"></div>
<script type="text/javascript">
var pager = new Pager('results', 5);
pager.init();
pager.showPageNav('pager', 'pageNavPosition');
pager.showPage(1);
</script>

3. в хедер вставить 

Код
<script type="text/javascript">
function Pager(tableName, itemsPerPage) {
    this.tableName = tableName;
    this.itemsPerPage = itemsPerPage;
    this.currentPage = 1;
    this.pages = 0;
    this.inited = false;
   
    this.showRecords = function(from, to) {       
        var rows = document.getElementById(tableName).rows;
        // i starts from 1 to skip table header row
        for (var i = 1; i < rows.length; i++) {
            if (i < from || i > to) 
                rows[i].style.display = 'none';
            else
                rows[i].style.display = '';
        }
    }
   
    this.showPage = function(pageNumber) {
    if (! this.inited) {
    alert("not inited");
    return;
    }

        var oldPageAnchor = document.getElementById('pg'+this.currentPage);
        oldPageAnchor.className = 'pg-normal';
       
        this.currentPage = pageNumber;
        var newPageAnchor = document.getElementById('pg'+this.currentPage);
        newPageAnchor.className = 'pg-selected';
       
        var from = (pageNumber - 1) * itemsPerPage + 1;
        var to = from + itemsPerPage - 1;
        this.showRecords(from, to);
    }   
   
    this.prev = function() {
        if (this.currentPage > 1)
            this.showPage(this.currentPage - 1);
    }
   
    this.next = function() {
        if (this.currentPage < this.pages) {
            this.showPage(this.currentPage + 1);
        }
    }                       
   
    this.init = function() {
        var rows = document.getElementById(tableName).rows;
        var records = (rows.length - 1);
        this.pages = Math.ceil(records / itemsPerPage);
        this.inited = true;
    }

    this.showPageNav = function(pagerName, positionId) {
    if (! this.inited) {
    alert("not inited");
    return;
    }
    var element = document.getElementById(positionId);
   
    var pagerHtml = '<span onclick="' + pagerName + '.prev();" class="pg-normal"> &#171 Предыдущая </span> | ';
        for (var page = 1; page <= this.pages; page++)
            pagerHtml += '<span id="pg' + page + '" class="pg-normal" onclick="' + pagerName + '.showPage(' + page + ');">' + page + '</span> | ';
        pagerHtml += '<span onclick="'+pagerName+'.next();" class="pg-normal"> Следующая »</span>';           
       
        element.innerHTML = pagerHtml;
    }
}</script>

или лучше вывести в отдельный файл
R331474010295
*

Georgiy77

  • Захожу иногда
  • 164
  • 2 / 0
  • Развивайся, живи, люби - ты на пути!
Re: mod_zooitem и Pagination
« Ответ #4 : 27.09.2012, 14:42:46 »
likrion, спасибо за пояснение, только для моего ума это явно недостаточно... Вы могли бы пальцем тыкнуть, что в каком файле изменить?
*

stasyansky

  • Захожу иногда
  • 225
  • 22 / 0
Re: mod_zooitem и Pagination
« Ответ #5 : 13.10.2012, 18:18:46 »
действительно, объясните, что и куда пихать.
хотя конечно пробывал в хедер подключенным файлом + в шаблон вывода Zoo Item.
но вот не работает оно.
*

likrion

  • Давно я тут
  • 750
  • 129 / 2
Re: mod_zooitem и Pagination
« Ответ #6 : 13.10.2012, 23:02:53 »
1 .представить вывод в виде таблицы

изменить код mod_zooitem чтобы он выводил не ul-li, а
Код
<table>
  <tr>
    <td></td>
  </tr>
</table>
<div id="pageNavPosition" align="center"></div>
<script type="text/javascript">
   var pager = new Pager('results', 5);
   pager.init();
   pager.showPageNav('pager', 'pageNavPosition');
   pager.showPage(1);
</script>

а в настройках указать количество например 100 или 1000
R331474010295
*

Georgiy77

  • Захожу иногда
  • 164
  • 2 / 0
  • Развивайся, живи, люби - ты на пути!
Re: mod_zooitem и Pagination
« Ответ #7 : 26.10.2012, 19:33:38 »
Этот код вставлять по адресу - \modules\mod_zooitem\mod_zooitem? - у меня при вставке туда выдает ошибку...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать картинку из mod_zooitem?

Автор Lekarev

Ответов: 4
Просмотров: 808
Последний ответ 30.07.2013, 15:59:34
от verstalshik
Как "поймать" активный/открытый item в mod_zooitem?

Автор Chedwick

Ответов: 1
Просмотров: 714
Последний ответ 21.11.2012, 19:35:26
от MetaSpirit
Pagination для ZOO Item

Автор act1ve

Ответов: 2
Просмотров: 1603
Последний ответ 07.09.2012, 17:49:09
от spyky
Обрезание описания в модуле mod_zooitem (Zoo 2.х)

Автор oppo

Ответов: 4
Просмотров: 1900
Последний ответ 10.09.2011, 19:48:15
от SemiLex
как изменить формирование ссылок в модуле mod_zooitem

Автор kefir

Ответов: 1
Просмотров: 1049
Последний ответ 30.07.2011, 19:42:40
от kefir