loading...

Авторизация ...

Имя пользователя :
Пароль :
я всё забыл!

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

Написал kangalexey, 28 января 2010 | 22 комментария | рейтинг новости не нравится   +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} - следующая новость

Вот и все!


Отблагодарили: Fireboy, De-Max

Комментарии пользователей

  Экспорт комментариев в RSS
 Сортировать по рейтингу, по дате

Написал Fireboy, 28 января 2010 в 13:38 плохой комментарий   +1   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
не плохо задумано

Написал AVET, 31 января 2010 в 15:18 плохой комментарий   -1   хороший комментарий
Новостей: 17, комментариев: 535, Редактор
Карма: 12±
Правда можно обойтись и без запросов в БД :) по ID +/- 1, но в таком случае не будет сортировки по категориям :)

Написал sanshteyn, 28 января 2010 в 13:45 плохой комментарий   0   хороший комментарий
Новостей: 10, комментариев: 490, Модератор
Карма: 28±
Установлю, так как предыдущий хак выводил не из данной категории предыдущие/следующие новости (ссылки), а в общем добавленные...

Написал jaceks, 28 января 2010 в 14:52 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 2, Пользователи
Карма:
au..не работает! открывает пустую страницу! Версия 7.2

Написал Yeti, 28 января 2010 в 16:56 плохой комментарий   0   хороший комментарий
Новостей: 1, комментариев: 109, Пользователи
Карма:
Сколько уже говорилось и писалось в комментах блин заливайте текстовый файл и ещё лучше его архив, но не достучатся ни до Админов и модераторов пропускающих такие новости ни до авторов - РЕБЯТА АУУУУ! ПАРСЕР В 555555 раз сожрал кое-что.... Сделайте наконец запрет на вставку кода в текст новости.

Написал kangalexey, 28 января 2010 в 17:10 плохой комментарий   +1   хороший комментарий
Новостей: 4, комментариев: 14, Пользователи
Карма:
Небольшое исправление:


Перед
if( strlen( $backlink['title'] ) > 75 ) $backlink['title'] = substr( $backlink['title'], 0, 75 ) . " ...";

Добавьте

$backlink['date'] = strtotime( $backlink['date'] );
$backlink['category'] = intval( $backlink['category'] );


Перед

if( strlen( $nextlink['title'] ) > 75 ) $nextlink['title'] = substr( $nextlink['title'], 0, 75 ) . " ...";

Добавьте

$nextlink['date'] = strtotime( $nextlink['date'] );
$nextlink['category'] = intval( $nextlink['category'] );


Написал Maxton222, 28 января 2010 в 17:42 плохой комментарий   +1   хороший комментарий
Новостей: 0, комментариев: 12, Пользователи
Карма:
Неработает

Написал maxic, 28 января 2010 в 17:58 плохой комментарий   0   хороший комментарий
Новостей: 7, комментариев: 115, Пользователи
Карма:
Проблема в том, что парсер скорее всего обрабатывает код в теге [code] - что не правильно

Написал kangalexey, 28 января 2010 в 18:54 плохой комментарий   -2   хороший комментарий
Новостей: 4, комментариев: 14, Пользователи
Карма:
Извиняюсь. Про парсер не знал.
Вот, перенес на форум ссылка

Написал 4ewka, 28 января 2010 в 19:46 плохой комментарий   -1   хороший комментарий
Новостей: 0, комментариев: 98, Пользователи
Карма:
4 крутецки ;)
но вроде это было http://4dle.ru/2007/04/26/novosti_v_fullstory.html

Написал InterPol, 28 января 2010 в 20:00 плохой комментарий   -2   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
Давн оискал такую штуку, попробую)

Написал VAT, 28 января 2010 в 20:45 плохой комментарий   +2   хороший комментарий
Новостей: 0, комментариев: 249, Пользователи
Карма:
хм, реализовано не очень... если нету следующей новости, то пустота, думаю нужно поставить условия, про оформление вообще ничего не сказано...
хотя плюс реализации в том, что идет пральная выборка, оптимальные запросы...
в общем, если доработать будет гуд... smile

Update:вот, за пару минут изменил немного...

вместо

$tpl->set( '{back-link}', $back_link );
$tpl->set( '{next-link}', $next_link );


вставить

if ($next-link == "") {
$tpl->set('{next-link}', 'Это последняя новость в категории');
} else {
$tpl->set( '{next-link}', $next_link );
}
if ($back-link == "") {
$tpl->set('{back-link}', 'Предыдущих новостей нету');
} else {
$tpl->set( '{back-link}', $back_link );
}


P.S. если кому-то помогло, то неоткажусь от маленького плюсика в карму)

Написал kangalexey, 28 января 2010 в 21:36 плохой комментарий   +1   хороший комментарий
Новостей: 4, комментариев: 14, Пользователи
Карма:
На теме в форуме я это добавил :)
Просто здесь сложно исправлять. Да и на парсер жалуются.
А так, спасибо :)
Извиняюсь, что сразу не заметил.

Написал VAT, 28 января 2010 в 21:48 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 249, Пользователи
Карма:
Цитата: kangalexey
На теме в форуме я это добавил :)
Просто здесь сложно исправлять. Да и на парсер жалуются.
А так, спасибо :)
Извиняюсь, что сразу не заметил.

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

Написал KeNeDi1989, 30 января 2010 в 22:57 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
выложите пожалуйста готовый вариант в текстовом варианте!

Написал kiosaki, 31 января 2010 в 17:42 плохой комментарий   0   хороший комментарий
Новостей: 1, комментариев: 31, Пользователи
Карма:
Поставил, вроде отлично работает, НО - заметил, что несколько новостей тупо пропускает в "предыдущая" или "следующая". Как будто ех нет в разделе...

С чем это может быть связано?

Написал kangalexey, 31 января 2010 в 19:40 плохой комментарий   0   хороший комментарий
Новостей: 4, комментариев: 14, Пользователи
Карма:
KeNeDi1989, kiosaki, код перекинул на форум, там код нормально выложен, а здесь новость не могу редактировать.

Написал FreeKill, 31 января 2010 в 23:22 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
Я так и не понял для чего она? bw

Написал kangalexey, 1 февраля 2010 в 00:22 плохой комментарий   0   хороший комментарий
Новостей: 4, комментариев: 14, Пользователи
Карма:
FreeKill, простите, кто?

Написал pnul, 14 февраля 2010 в 02:47 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 4, Пользователи
Карма:
Подскажите, а как можно вставить картинки стрелочки влево-вправо, чтобы они тоже были кликабельны?

Написал elektroshok, 15 февраля 2010 в 23:58 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 0, Гости
Карма: ±
хм, найди 10 отличий
http://4dle.ru/mods/1147155489-next_and_back_by-creostyle.html

хотя писал давно... молод был ))

Написал GoldBert, 19 февраля 2010 в 06:38 плохой комментарий   0   хороший комментарий
Новостей: 0, комментариев: 26, Пользователи
Карма:
http://4dle.ru/hacks/1147158131-ssylki-na-sledujushhuju-i-predydushhuju.html

Информация



Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
Анализ Тиц и PR сайта

[removed][removed] [removed] (adsbygoogle = window.adsbygoogle || []).push({}); [removed]