ndiezel 0 Опубликовано: 16 апреля 2015 Рассказать Опубликовано: 16 апреля 2015 Всем привет. Есть модуль для вывода ссылок в полной новости "Следующая новость", "Предыдущая новость". Вот его код: <?php /* ===================================================== Автор: rocksmart ----------------------------------------------------- http://pro-script.ru/ ----------------------------------------------------- Данный код защищен авторскими правами ===================================================== Файл: nextpreviewnews.php ----------------------------------------------------- Назначение: Следущая и предидущая новость ===================================================== /* УСТАНОВКА: Копируем файл в engine/modules, в необходимом месте шаблона fullstory.tpl выводим такой строкой: {include file="engine/modules/nextpreviewnews.php"} */ if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); } $id = NEWS_ID; if( $config['allow_cache'] != "yes" ) { $config['allow_cache'] = "yes"; $revert_cache = true; } else { $revert_cache = false; } $cont = dle_cache( "nextpreviewnews",$id); if( $cont === FALSE ) { $result = $db->query("SELECT id, date, title, category, alt_name FROM " . PREFIX . "_post WHERE ( `id` = (SELECT MAX(`id`) FROM " . PREFIX . "_post WHERE `id` < ".$id." AND approve = '1') OR `id` = (SELECT MIN(`id`) FROM " . PREFIX . "_post WHERE `id` > ".$id." AND approve = '1') ) "); while ($row = $db->get_row()){ $row['title'] = stripslashes( $row['title'] ); $substrtitle = ( strlen( $row['title'] ) > 30 ) ? substr( $row['title'], 0, 30 ) . "..." : $row['title']; $row['category'] = intval( $row['category'] ); $row['date'] = strtotime( $row['date'] ); if( $config['allow_alt_url'] == "yes" ) { if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) { if( $row['category'] and $config['seo_type'] == 2 ) { $full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html"; } else { $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html"; } } else { $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html"; } } else { $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id']; } //echo '<pre>';print_r($row);echo'</pre>'; $cont .=($row['id'] < $id) ? "<!--<li><a href=\"".$full_link."\" title=\"".$row['title']."\">".$substrtitle."</a></li>-->" : ""; $cont .=($row['id'] > $id) ? "<li><a href=\"".$full_link."\" title=\"".$row['title']."\">Следующий кран</a></li>" : ""; } $db->free(); if($cont) { $cont = $cont.''; create_cache("nextpreviewnews",$cont,$id); } } if( $revert_cache ) $config['allow_cache'] = "no"; echo $cont; ?> Он выводит просто следующую новость, я так понимаю по id-шнику. Как сделать чтоб модуль выводил следующую новость именно в категории, а не все подряд? Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 16 апреля 2015 Рассказать Опубликовано: 16 апреля 2015 (изменено) Была же уже недавно эта тема: http://forum.dle-new...showtopic=67991 Если у вас на сайте не очень много категорий, то для каждой можно прописать условие: [category=1] <a href="{include file="engine/modules/myphp.php?link=next&cat=1&id={news-id}"}" class="next"></a> <a href="{include file="engine/modules/myphp.php?link=back&cat=1&id={news-id}"}" class="back"></a> [/category] [category=2] <a href="{include file="engine/modules/myphp.php?link=next&cat=2&id={news-id}"}" class="next"></a> <a href="{include file="engine/modules/myphp.php?link=back&cat=2&id={news-id}"}" class="back"></a> [/category] [category=3] <a href="{include file="engine/modules/myphp.php?link=next&cat=3&id={news-id}"}" class="next"></a> <a href="{include file="engine/modules/myphp.php?link=back&cat=3&id={news-id}"}" class="back"></a> [/category] Изменено 16 апреля 2015 пользователем Mek Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.