Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Улучшить PAGEBREAK в полной новости

Улучшить PAGEBREAK в полной новости


     11.01.2014    pagebreak    Все вопросы » Общие вопросы по PHP    3504

вопрос
Улучшить PAGEBREAK в полной новости


Дошло до того, что на странице новости более 30 страниц.
Возможно ли реализация такого вида?

Версия дле 9.4

Прикрепил show.full.php, show.short.php

show-full.rar [10.22 Kb] (cкачиваний: 18)

Ответил: D0Gmatist


править /engine/modules/show.short.php делалось для DLE 10.1 на ранних версиях код может отличаться (не проверял)

Найти

Ниже прописать


В шаблоне navigation.tpl использовать {select-page}

Разберём настройку
if ($enpages_count >= 50) { селект будет выводиться если страниц 50 иболее

$jp = $jp + 10; в селекте каждая 10 страница если нужно в селекте каждую страницу заменить строку на $jp++

3 комментария

D0Gmatist
Юзер

D0Gmatist - 11 января 2014 08:23 -

Да можно
Осталось толь ка в PHP переписать или дописать с отдельным тегом вывода в шаблон
http://jsfiddle.net/D0Gmatist/fV6ed/

править толька /engine/modules/show.short.php

D0Gmatist
Юзер

D0Gmatist - 11 января 2014 10:48 -

Найти
        //----------------------------------
        // Next link
        //----------------------------------
        if( $config['news_number'] AND $config['news_number'] < $count_all and $i < $count_all ) {
            $next_page = $i / $config['news_number'] + 1;
            
            if( $config['allow_alt_url'] == "yes" ) {
                $next = $url_page . '/page/' . $next_page . '/';
                $tpl->set_block( "'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"" . $next . "\">\\1</a>" );
            } else {
                $next = $PHP_SELF . "?cstart=" . $next_page . "&amp;" . $user_query;
                $tpl->set_block( "'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"" . $next . "\">\\1</a>" );
            }
        
        } else {
            $tpl->set_block( "'\[next-link\](.*?)\[/next-link\]'si", "<span>\\1</span>" );
            $no_next = TRUE;
        }



Ниже прописать
        //----------------------------------
        // select page by D0Gmatist
        //----------------------------------
        if ($enpages_count >= 50) {
        
            $selectPage = "<select class=\"selectPage\" name=\"site\" size=1 onchange=\"top.location=this.value\">";

            for($jp = 0; $jp <= $enpages_count; ) {
                if ($jp == 0) {
                    $selectPage .= "<option value=\"\">Быстрый переход</option>";
                } elseif ($jp == $cstart) {
                    $selectPage .= "<option selected value=\"" . $url_page . "/page/" . $jp . "/\">Страница " . $jp . "</option>";
                } else {
                    $selectPage .= "<option value=\"" . $url_page . "/page/" . $jp . "/\">Страница " . $jp . "</option>";
                }
                $jp = $jp + 10;
            }
        
            $selectPage .= "</select>";

            $tpl->set( '{select-page}', $selectPage );
        } else {
            $tpl->set( '{select-page}', "" );
        }


В шаблоне navigation.tpl использовать {select-page}

Разберём настройку
if ($enpages_count >= 50) { селект будет выводиться если страниц 50 иболее

$jp = $jp + 10; в селекте каждая 10 страница если нужно в селекте каждую страницу заменить строку на $jp++

hqtexture
Юзер

hqtexture - 30 января 2014 19:31 -

Спасибо, думал не помогут. Глянул есть запись. Работает фишка, но не там где я просил изначально :))))
Я имел ввиду полной новости. К примеру есть запись _http://nevsepic.com.ua/nostalgiya/15820-the-north-american-indian-by-edward-s.-curtis-1500-foto.html

Там более 50 страниц, а вот такую редиску бы сделать на полную новость.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх