DLE-Code - движок DataLife Engine » Хаки » Добавление ссылок на следующую и предыдущую новость в просмотре полной новости

 
 
 

Добавление ссылок на следующую и предыдущую новость в просмотре полной новости

Автор: FlashBlack от 29 января 2010, посмотрело: 3017

5
Описание хака: Добавление ссылок на следующую и предыдущую новость в просмотре полной новости
Автор: kangalexey(4dle.ru)
Версия DLE: 8.х

Инструкция:

В файле engine/modules/show.full.php

Перед строкой:
if( $config['related_news'] ) {


Добавить код:
        // Back link
        $backlink = $db->super_query( "SELECT id, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE id > " . $row['id'] . " AND category = " . $row['category'] . " AND approve = 1 ORDER BY date ASC LIMIT 1" );
        if( $backlink ) {
            if( strlen( $backlink['title'] ) > 75 ) $backlink['title'] = substr( $backlink['title'], 0, 75 ) . " ...";
            if( $config['allow_alt_url'] == "yes" ) {
                if( $backlink['flag'] and $config['seo_type'] ) {
                    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'] . date( 'Y/m/d/', $backlink['date'] ) . $backlink['alt_name'] . ".html";
                }
            } else {
                $back_link = $config['http_home_url'] . "index.php?newsid=" . $backlink['id'];
            }
        } else {
            $back_link = "";
        }
        
        // Next Link
        $nextlink = $db->super_query( "SELECT id, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE id < " . $row['id'] . " AND category = " . $row['category'] . " AND approve = 1 ORDER BY date DESC LIMIT 1" );
        if ( $nextlink ) {
            if( strlen( $nextlink['title'] ) > 75 ) $nextlink['title'] = substr( $nextlink['title'], 0, 75 ) . " ...";
            if( $config['allow_alt_url'] == "yes" ) {
                if( $nextlink['flag'] and $config['seo_type'] ) {
                    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'] . date( 'Y/m/d/', $nextlink['date'] ) . $nextlink['alt_name'] . ".html";
                }
            } else {
                $next_link = $config['http_home_url'] . "index.php?newsid=" . $nextlink['id'];
            }
        } else {
            $next_link = "";
        }
        // Back and Next Link Template
        $back_link = "<a href="" . $back_link . "">" . stripslashes( $backlink['title'] ) . "</a>";
        $next_link = "<a href="" . $next_link . "">" . stripslashes( $nextlink['title'] ) . "</a>";
        $tpl->set( '{back-link}', $back_link );
        $tpl->set( '{next-link}', $next_link );


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

Вот и все!

Категория: Хаки

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
<
  • Публикаций: 0
  • Комментариев: 3
  • ICQ: --
13 мая 2010 20:48

jaga2222

  • Группа: Посетители
  • Регистрация: 13.05.2010
 
На DLE 8.0 не работает
Когда заходишь в полную новость выдает ошибку:
Parse error: syntax error, unexpected '"' in /home/ausoftr/public_html/engine/modules/show.full.php on line 446

<
  • Публикаций: 0
  • Комментариев: 3
  • ICQ: --
14 мая 2010 00:21

everty

  • Группа: Посетители
  • Регистрация: 12.05.2010
 
Цитата: jaga2222
На DLE 8.0 не работает
Когда заходишь в полную новость выдает ошибку:
Parse error: syntax error, unexpected '"' in /home/ausoftr/public_html/engine/modules/show.full.php on line 446

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

<
  • Публикаций: 0
  • Комментариев: 3
  • ICQ: --
14 мая 2010 16:43

jaga2222

  • Группа: Посетители
  • Регистрация: 13.05.2010
 
everty,
Я не специалист в php, просто скопировал весь код отсюда и вставил куда написано и стало выдавать такую ошибку. Может Вы найдете в чем она заключается? line 446 в коде указывает сюда:

// Back and Next Link Template

446: $back_link = ...
447: $next_link = ...

Помимо того, что скопировал отсюда, больше ничего не менял и не трогал.

<
  • Публикаций: 0
  • Комментариев: 3
  • ICQ: --
16 мая 2010 12:52

everty

  • Группа: Посетители
  • Регистрация: 12.05.2010
 
Цитата: jaga2222
everty,
Я не специалист в php, просто скопировал весь код отсюда и вставил куда написано и стало выдавать такую ошибку. Может Вы найдете в чем она заключается? line 446 в коде указывает сюда:

// Back and Next Link Template

446: $back_link = ...
447: $next_link = ...

Помимо того, что скопировал отсюда, больше ничего не менял и не трогал.


лучше код на 10 строк вперед и назад

<
  • Публикаций: 0
  • Комментариев: 3
  • ICQ: --
16 мая 2010 20:23

jaga2222

  • Группа: Посетители
  • Регистрация: 13.05.2010
 
everty,
Не позволяет добавить код в коментарии - пишет недопустимы символы.
В приведенном коде строка с ошибкой 4-я по счету снизу, т.е. эта ошибка возникает сразу после вот этой строки:
// Back and Next Link Template

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.