Наверх
 

Навигация
Опрос
Какие виды уроков Вы хотите видеть на сайте?
Битрикс
DLE
CSS
Joomla
Wordpress
Все для хостинга
Все для фотошопа
Другое

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

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

13 янв 2014 | Комментариев: 0 | Просмотров: 1765
 

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

 

Небольшой Хак ссылка на следующую и предыдущую новость для 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 = "&laquo; Предыдущая статья<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 = "Следующая статья &raquo;<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 вставить:
 
<hr/>
	    <table width="100%"><tr><td align="left">{back-link}</td><td align="right">{next-link}</td></tr></table><br/>
 
{back-link} - Предыдущая новость
{next-link} - Следующая новость
 
Вот на этом и все.
 


Ссылка на новость:

    html-cсылка на публикацию
    BB-cсылка на публикацию
    Прямая ссылка на публикацию

ЕЩЕ НА ЭТУ ТЕМУ:

Обрезание количество символов в TITLE в блоке Популярные новости

Обрезание количество символов в TITLE в блоке Популярные новости

  Я вам расскажу как в блоке популярные новости ограничить количество символов в названии новости (TITLE).
Чередование фона для краткой новости для DLE

Чередование фона для краткой новости для DLE

Небольшой хак позволяет сделать на сайте чередование заднего фона краткой новости.
Авторизация на сайте через Логин и Email для DLE

Авторизация на сайте через Логин и Email для DLE

  Небольшой Хак для DLE, который немного переделывает авторизацию на сайте, что обеспечивает вход на сайт через Логин и Email
Всплывающая подcказка при наведении

Всплывающая подcказка при наведении

Простой и очень легкий по размеру эффект всплывающей подсказки. Любой элемент с классом vtip будет отображать при наведении на него всплывающую подсказку на
Красивый эффект анимации для галереи

Красивый эффект анимации для галереи

Эффект, который позволит преобразить вашу галерею фотографий, с помощью библиотеки Raphael и jQuery. Нужно создать три файла: index.html, default.css, init.js
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.