slavpas11

Пагинатор

Рекомендуемые сообщения

slavpas11    0

Подскажите пожалуйста, как сделать, чтобы стрелочки в пагинаторе появлялись только после 5-й страницы?

rolik.dp.ua/televizory/led-televizory

<?php

class Pagination {

    public $total = 0;

    public $page = 1;

    public $limit = 20;

    public $num_links = 10;

    public $url = '';

    public $text = 'Showing {start} to {end} of {total} ({pages} Pages)';

    public $text_first = '|<';

    public $text_last = '>|';

    public $text_next = '>';

    public $text_prev = '<';

    public $style_links = 'links';

    public $style_results = 'results';

    

    public function render() {

        $total = $this->total;

        

        if ($this->page < 1) {

            $page = 1;

        } else {

            $page = $this->page;

        }

        

        if (!(int)$this->limit) {

            $limit = 10;

        } else {

            $limit = $this->limit;

        }

        

        $num_links = $this->num_links;

        $num_pages = ceil($total / $limit);

        

        $output = '';

        

        if ($page > 1) {

            $output .= ' <a href="' . str_replace('{page}', 1, $this->url) . '">' . $this->text_first . '</a> <a href="' . str_replace('{page}', $page - 1, $this->url) . '">' . $this->text_prev . '</a> ';

        }

        if ($num_pages > 1) {

            if ($num_pages <= $num_links) {

                $start = 1;

                $end = $num_pages;

            } else {

                $start = $page - floor($num_links / 2);

                $end = $page + floor($num_links / 2);

            

                if ($start < 1) {

                    $end += abs($start) + 1;

                    $start = 1;

                }

                        

                if ($end > $num_pages) {

                    $start -= ($end - $num_pages);

                    $end = $num_pages;

                }

            }

            if ($start > 1) {

                $output .= ' .... ';

            }

            for ($i = $start; $i <= $end; $i++) {

                if ($page == $i) {

                    $output .= ' <b>' . $i . '</b> ';

                } else {

                    $output .= ' <a href="' . str_replace('{page}', $i, $this->url) . '">' . $i . '</a> ';

                }    

            }

                            

            if ($end < $num_pages) {

                $output .= ' .... ';

            }

        }

        

           if ($page < $num_pages) {

            $output .= ' <a href="' . str_replace('{page}', $page + 1, $this->url) . '">' . $this->text_next . '</a> <a href="' . str_replace('{page}', $num_pages, $this->url) . '">' . $this->text_last . '</a> ';

        }

        

        $find = array(

            '{start}',

            '{end}',

            '{total}',

            '{pages}'

        );

        

        $replace = array(

            ($total) ? (($page - 1) * $limit) + 1 : 0,

            ((($page - 1) * $limit) > ($total - $limit)) ? $total : ((($page - 1) * $limit) + $limit),

            $total,

            $num_pages

        );

        

        return ($output ? '<div class="' . $this->style_links . '">' . $output . '</div>' : '') . '<div class="' . $this->style_results . '">' . str_replace($find, $replace, $this->text) . '</div>';

    }

}

?>

Изменено пользователем afwollis
unlinked

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    933

/system/library/paginator.php

$num_links =

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
slavpas11    0

/system/library/paginator.php

$num_links =

Там не одна строка с $num_links

Можно поточнее в какой именно строке:)

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    933

:)

    public $num_links = 

 

 

зы. Когда люди что-то спрашивают "как это сделать", то подразумевается, что они  это будут делать. И, следовательно, будут думать.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу