За последние 24 часа нас посетили 21595 программистов и 1065 роботов. Сейчас ищут 610 программистов ...

Вывести последнюю страницу в пагинации

Тема в разделе "Сделайте за меня", создана пользователем TanyaRom, 8 июн 2016.

Метки:
  1. TanyaRom

    TanyaRom Новичок

    С нами с:
    8 июн 2016
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте. Сайт на Joomla 1.5
    Перепробовала все что можно и не выходит.
    Вот собственно в чем задача:
    Есть пагинация вида:
    Первая 1 2..Последняя >>
    Как сделать так, чтоб вместо слово последняя выводился номер последней страницы.
    Т.е., на пример:
    Первая 1 2..98>>
    Вот код

    PHP:
    1. <?php
    2. defined( '_JEXEC' ) or die; // защита
    3. // главная функция этого файла, имя этой функции изменять нельзя
    4. function pagination_list_render($list){
    5.     $html = '';
    6.     $gwpages = array();
    7.     // перебираем массив со всеми кнопками пагинации
    8.     foreach ($list['pages'] as $number => $page) {
    9.         if($page['active'] === false){
    10.             $current = $number;
    11.         }
    12.         $countPages = $number;
    13.     }
    14.     // конец перебора массива
    15.     // Далее отрисовываем пагинацию так, как нам захочется
    16.     if($current > 1) $html .= GWaddRow(&$gwpages, $list['previous'], 'pagination-previous');
    17.     $html .= GWaddRow(&$gwpages, $list['start'], 'pagination-start');
    18.     if($current > 3) $html .= "<span class=\"dots\">...</span>";
    19.     if(isset($list['pages'][$current-1])) $html .= GWaddRow(&$gwpages, $list['pages'][$current-1]);
    20.     $html .= GWaddRow(&$gwpages, $list['pages'][$current]);
    21.     if(isset($list['pages'][$current+1])) $html .= GWaddRow(&$gwpages, $list['pages'][$current+1]);
    22.     if($current < ($countPages - 2)) $html .= "<span class=\"dots\">...</span>";
    23.     $html .= GWaddRow(&$gwpages, $list['end'], 'pagination-end');
    24.     if($current < $countPages) $html .= GWaddRow(&$gwpages, $list['next'], 'pagination-next');
    25.     return '<ul class="vm-pagination">'.$html.'</ul>';
    26. }
    27. // конец главной функции
    28. // Вспомогательная функция, она необязательна, но в данном случае было удобно делать с помощью неё
    29. function GWaddRow(&$pages, $page, $class = ''){
    30.     if(in_array($page, $pages)){
    31.         return;
    32.     }
    33.     $row = '<li';
    34.     $row .= ($class)? ' class="'.$class.'">' : '>';
    35.     $row .= $page['data']. '</li>';
    36.     $pages[] = $page;
    37.     return $row;
    38. }
    39. ?>
    Пыталась вставить этот код
    PHP:
    1. $html .= JText::sprintf('JPAGE_CURRENT_OF_TOTAL',  $this->get('pages.total'));
    Вместо
    PHP:
    1. $html .= GWaddRow(&$gwpages, $list['end'], 'pagination-end');
    Но ничего не вышло
     
  2. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    PHP:
    1. $html.= GWaddRow(&$gwpages,$list['end'],'pagination-end');
    Заменить на:
    PHP:
    1. $html.= GWaddRow(&$gwpages,$countPages,'pagination-end');
    Скорей всего должно сработать.