dle.in.ua » Хаки » Вывод многострочной навигации (всех страниц)

Вывод многострочной навигации (всех страниц)

Автор: Tony от 5-08-2008, 19:24
Вывод многострочной навигации (всех страниц)


Вывод многострочной навигации по страницам.
ПРЕМИЧАНИЕ. При великом количестве очень "уродливо" смотрится, но говорили, для поисковиков полезно.
Может кому-то понадобится.
Как установить многострочную навигацию:

- открываем ./engine/modules/show.short.php
- находим следующий код:

   //----------------------------------
    // Pages
    //----------------------------------
    if($config['news_number']){

    if($count_all > $config['news_number']){

        $enpages_count = @ceil($count_all/$config['news_number']);
        $pages = "";

        $cstart = ($cstart / $config['news_number']) + 1;

        if ($enpages_count <= 10 ) {

            for($j=1; $j<=$enpages_count; $j++){

                if($j != $cstart) {

                    if ($config['ajax']) $go_page = "onclick=\"DlePage('cstart=".$j."&".$user_query."'); return false;\" "; else $go_page = "";

                    if ($config['allow_alt_url'] == "yes")
                        $pages .= "<a {$go_page}href=\"".$url_page."/page/".$j."/\">$j</a> ";
                    else
                        $pages .= "<a {$go_page}href=\"$PHP_SELF?cstart=$j&amp;$user_query\">$j</a> ";

                } else {

                    $pages .= "<span>$j</span> ";
                }

            }

        } else {

            
            $start =1;
            $end = 10;
            $nav_prefix = "... ";

            if ($cstart > 0) {

                if ($cstart > 5) {

                    $start = $cstart - 4;
                    $end = $start + 8;

                    if ($end >= $enpages_count) {
                        $start = $enpages_count - 9;
                        $end = $enpages_count - 1;
                        $nav_prefix = "";
                    } else $nav_prefix = "... ";

                }

            }

            if ($start >= 2) {

                    if ($config['ajax']) $go_page = "onclick=\"DlePage('cstart=1&".$user_query."'); return false;\" "; else $go_page = "";

                    if ($config['allow_alt_url'] == "yes")
                        $pages .= "<a {$go_page}href=\"".$url_page."/page/1/\">1</a> ... ";
                    else
                        $pages .= "<a {$go_page}href=\"$PHP_SELF?cstart=1&amp;$user_query\">1</a> ... ";

            }

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

                if($j != $cstart) {

                    if ($config['ajax']) $go_page = "onclick=\"DlePage('cstart=".$j."&".$user_query."'); return false;\" "; else $go_page = "";

                    if ($config['allow_alt_url'] == "yes")
                        $pages .= "<a {$go_page}href=\"".$url_page."/page/".$j."/\">$j</a> ";
                    else
                        $pages .= "<a {$go_page}href=\"$PHP_SELF?cstart=$j&amp;$user_query\">$j</a> ";

                } else {

                    $pages .= "<span>$j</span> ";
                }

            }

            if ($cstart != $enpages_count) {

                    if ($config['ajax']) $go_page = "onclick=\"DlePage('cstart={$enpages_count}&".$user_query."'); return false;\" "; else $go_page = "";

                    if ($config['allow_alt_url'] == "yes")
                        $pages .= $nav_prefix."<a {$go_page}href=\"".$url_page."/page/{$enpages_count}/\">{$enpages_count}</a>";
                    else
                        $pages .= $nav_prefix."<a {$go_page}href=\"$PHP_SELF?cstart={$enpages_count}&amp;$user_query\">{$enpages_count}</a>";

            } else $pages .= "<span>{$enpages_count}</span> ";

        }

    }
      $tpl->set('{pages}', $pages);
  }


- акуратно меняем его на:
//----------------------------------
    // Pages
    //----------------------------------
    if($config['news_number']){

    if($count_all > $config['news_number']){

        $enpages_count = @ceil($count_all/$config['news_number']);
        $pages = "";

        $cstart = ($cstart / $config['news_number']) + 1;



            for($j=1; $j<=$enpages_count; $j++){

                if($j != $cstart) {

                    if ($config['ajax']) $go_page = "onclick=\"DlePage('cstart=".$j."&".$user_query."'); return false;\" "; else $go_page = "";

                    if ($config['allow_alt_url'] == "yes")
                        $pages .= "<a {$go_page}href=\"".$url_page."/page/".$j."/\">$j</a> ";
                    else
                        $pages .= "<a {$go_page}href=\"$PHP_SELF?cstart=$j&amp;$user_query\">$j</a> ";

                } else {

                    $pages .= "<span>$j</span> ";
                }
}

    }
      $tpl->set('{pages}', $pages);
  }


Чтобы убрать "назад" и "далее" откриваете шаблон краткой новости и убираете соответствуищие блоки: [prev_link]...[/prev_link] и [next_link]...[/next_link]
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • не работает у мну.. =((
    • CSKA
    • Регистрация: --
    • Репутация: (||)
    • 5 августа 2008 20:03
    • 1
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • CSKA,
    Должно работать!
    Проверь мож чо не правильно зделал.
    • Tony
    • Регистрация: --
    • Репутация: (||)
    • 5 августа 2008 20:18
    • 2
    ^
  • Группа: User
  • Icq: 378421437
  • Комментариев: 63
  • Публикаций: 0
  • не работает

    --------------------
    • Bartz2
    • Регистрация: 29.02.2008
    • Репутация: (0|0|0)
    • 9 августа 2008 11:39
    • 3
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • а на 7.5 как сделать очень нужно
    • qiq.or.kz
    • Регистрация: --
    • Репутация: (||)
    • 7 марта 2009 11:58
    • 4
    ^
  • Группа: User
  • Icq: 899978
  • Комментариев: 230
  • Публикаций: 112
  • да, как?)

    --------------------
    • Boroda
    • Регистрация: 16.10.2008
    • Репутация: (0|0|0)
    • 7 марта 2009 12:49
    • 5
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: qiq.or.kz
    а на 7.5 как сделать очень нужно

    Чё не кто незнает чтоль как на 7.5 sad
    • qiq.or.kz
    • Регистрация: --
    • Репутация: (||)
    • 9 марта 2009 15:25
    • 6
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • на 7.5 работает отлично.
    • 4dle
    • Регистрация: --
    • Репутация: (||)
    • 16 мая 2009 15:55
    • 7
    ^
  • Группа: User
  • Icq: 499736
  • Комментариев: 85
  • Публикаций: 5
  • на 9.2 кто нибудь прикручивал этот хак? работает?

    --------------------
    • kypbma
    • Регистрация: 3.02.2008
    • Репутация: (0|0|0)
    • 19 марта 2011 12:13
    • 8
    ^
  • Группа: User
  • Icq: 499736
  • Комментариев: 85
  • Публикаций: 5
  • Огромное спасибо... давно искал... и наконец нашел :)

    --------------------
    • kypbma
    • Регистрация: 3.02.2008
    • Репутация: (0|0|0)
    • 16 декабря 2011 15:47
    • 9
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.