Все для DataLife Engine / DLE хаки / Хак DLE Ссылки на следующую и предыдущую новость

Хак DLE Ссылки на следующую и предыдущую новость


Мы некогда на https://dle9.com/ публиковали хак dle добавления ссылки в полной новости на следующую и предыдущую новости, однако он подходит для DataLife Engine версии ниже. Хак DLE 10.0 Ссылки на следующую и предыдущую новости, будет полезен для перелинковки внутренних страниц сайта, а также позволит получить быстрый переход на следующую новость без необходимости выхода на главную страницу или раздел.

Установка Хака DLE Ссылки на следующую и предыдущую новость:
В файле engine/modules/show.full.php найти:
if( $config['related_news'] AND $view_template != "print" ) {


Выше вставить:
// Начало: ссылки на следующую и предыдущую новости
$backnext_allow = "yes";
    if( $backnext_allow == "yes" ) {

        if( $config['allow_cache'] != "yes" ) {
            $config['allow_cache'] = "yes";
            $revert_cache = true;
        } else
            $revert_cache = false;

        $back_link = dle_cache( "backlink", $row['id'] );
        $next_link = dle_cache( "nextlink", $row['id'] );

// Предыдущая новость
if( $back_link === FALSE ) {
    $backlink = $db->super_query( "SELECT id, date, title, category, alt_name FROM " . PREFIX . "_post WHERE date < FROM_UNIXTIME({$row['date']}) AND category = '{$row['category']}' AND approve = '1' ORDER BY date DESC LIMIT 0,1" );
    if( $backlink ) {
        $backlink['date'] = strtotime( $backlink['date'] );
        $backlink['category'] = intval( $backlink['category'] );
            if( strlen( $backlink['title'] ) > 70 ) $backlink['title'] = substr( $backlink['title'], 0, 70 ) . "...";
                if( $config['allow_alt_url'] == "yes" ) {
                    if( $backlink['category'] and $config['seo_type'] == 2 ) {
                        $back_link = $config['http_home_url'] . get_url( $backlink['category'] ) . "/" . $backlink['id'] . "-" . $backlink['alt_name'] . ".html";
                    } else {
                        $back_link = $config['http_home_url'] . $backlink['id'] . "-" . $backlink['alt_name'] . ".html";
                    }
                } else {
                    $back_link = $config['http_home_url'] . "index.php?newsid=" . $backlink['id'];
                }
        } else {
            $back_link = "";
        }
        if( $back_link ) {
            $back_link = "Ранее &raquo;<br><b><a href=\"" . $back_link . "\">" . stripslashes( $backlink['title'] ) . "</a></b>";
        }
        $db->free();
        create_cache( "backlink", $back_link, $row['id'] );
    }

// Следующая новость
if( $next_link === FALSE ) {
    $nextlink = $db->super_query( "SELECT id, date, title, category, alt_name FROM " . PREFIX . "_post WHERE date > FROM_UNIXTIME({$row['date']}) AND category = '{$row['category']}' AND approve = '1' ORDER BY date ASC LIMIT 0,1" );
    if ( $nextlink ) {
        $nextlink['date'] = strtotime( $nextlink['date'] );
        $nextlink['category'] = intval( $nextlink['category'] );
            if( strlen( $nextlink['title'] ) > 70 ) $nextlink['title'] = substr( $nextlink['title'], 0, 70 ) . "...";
            if( $config['allow_alt_url'] == "yes" ) {
                    if( $nextlink['category'] and $config['seo_type'] == 2 ) {
                        $next_link = $config['http_home_url'] . get_url( $nextlink['category'] ) . "/" . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html";
                        } else {
                            $next_link = $config['http_home_url'] . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html";
                        }
                } else {
                    $next_link = $config['http_home_url'] . "index.php?newsid=" . $nextlink['id'];
                }
            } else {
                $next_link = "";
            }
            if( $next_link ) {
                $next_link = "&laquo; Далее<br><b><a href=\"" . $next_link . "\">" . stripslashes( $nextlink['title'] ) . "</a></b>";
            }
            $db->free();
            create_cache( "nextlink", $next_link, $row['id'] );
        }

// Сссылки
        $tpl->set( '{back-link}', $back_link );
        $tpl->set( '{next-link}', $next_link );

        if( $revert_cache ) $config['allow_cache'] = "no";
    }
// Конец: ссылки на следующую и предыдущую новости


В шаблон fullstory.tpl вставить:
{back-link} - предыдущая новость
{next-link} - следующая новость

Скачать хаки для dle, как хак для DLE 10.0 ссылки на следующую и предыдущую новости

Ssylki-na-sleduyuschuyu-i-predyduschuyu-novosti-dlya-DLE-10.rar [8,48 Kb] (cкачиваний: 87)
  • 40

Комментарии 8

dle9.com от 9 сентября 2014 23:29
Цитата: wrip
У меня такой вопрос к Вам, а можно ли как нибудь организовать: похожие материалы чтобы выводились по тегам?? Может существует такой хак?? но я пока в сети ненаходил для дле движка...

не встречал такого хака,

можно например, так (из облака тегов новости я так понимаю)
теги сделать как название новости, тогда по этим тегам будет формироваться новости в блоке похожие материалы, конечно без вывода их в новостях, чтобы не портить тайтел.

Для этого надо в файле модуля show.full.php изменить переменные, сразу скажу не силен, можно обратиться с таким вопрос сюда тут
Внимание! У Вас нет прав для просмотра скрытого текста.
есть специалисты которые могут помочь
wrip от 9 сентября 2014 22:21
У меня такой вопрос к Вам, а можно ли как нибудь организовать: похожие материалы чтобы выводились по тегам?? Может существует такой хак?? но я пока в сети ненаходил для дле движка...
dle9.com от 9 сентября 2014 07:16
Цитата: wrip
Сылочку можете затереть, я себе такой установил отлично вообще работает!Добавьте его себе на сайт пусть люди тоже устанавливают, это очень хорошая перелинковка для НЧ запросов, и получается она круговая, т. е предыдушщий и следующий они между собой перелинкованы.

Хорошо спасибо, добавлю на днях.
wrip от 9 сентября 2014 00:44
Сылочку можете затереть, я себе такой установил отлично вообще работает!Добавьте его себе на сайт пусть люди тоже устанавливают, это очень хорошая перелинковка для НЧ запросов, и получается она круговая, т. е предыдушщий и следующий они между собой перелинкованы.
wrip от 9 сентября 2014 00:39
Нет, у Вас я такого модуля невидел, вот могу ссылочку
dle9.com от 8 сентября 2014 13:51
Цитата: wrip
дак уже в сети есть упрощенная версия на дле 10.1, которая ставится одним файлом, и у нее всего 1 запрос к бд, а у этой 2 запроса.


этот что ли https://dle9.com/haki/hak-dle/2059-dle-hak-ssylki-na-sleduyuschuyu-i-predydus


chuyu-v-polnoy-novosti.html
wrip от 8 сентября 2014 12:49
дак уже в сети есть упрощенная версия на дле 10.1, которая ставится одним файлом, и у нее всего 1 запрос к бд, а у этой 2 запроса.
Chessman от 16 августа 2013 21:33
вчера как раз ставил. искал для 10 версии не нашёл. реализовал с помощью модуля кольцевой перелинковки
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent