raspin 1 Опубликовано: 20 января 2010 Рассказать Опубликовано: 20 января 2010 Здравствуйте, подскажите как сделать автоматом, чтобы в полной версии новости ставились ссылки на следующую и предыдущую новости из этой же категории Цитата Ссылка на сообщение Поделиться на других сайтах
ATHF 33 Опубликовано: 20 января 2010 Рассказать Опубликовано: 20 января 2010 1. Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь легальной копией скрипта. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован. Цитата Ссылка на сообщение Поделиться на других сайтах
raspin 1 Опубликовано: 25 января 2010 Рассказать Опубликовано: 25 января 2010 Автор http://ourdoor.ru/ Цитата Ссылка на сообщение Поделиться на других сайтах
raspin 1 Опубликовано: 26 января 2010 Рассказать Опубликовано: 26 января 2010 Автор помогите, очень нужно... уже неделю голову ломаю... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 26 января 2010 Рассказать Опубликовано: 26 января 2010 помогите, очень нужно... уже неделю голову ломаю... В скрипте такой возможности нет Цитата Ссылка на сообщение Поделиться на других сайтах
raspin 1 Опубликовано: 27 января 2010 Рассказать Опубликовано: 27 января 2010 Автор Жалко, тогда подскажите можно ли реализовать такую схему: Создать два доп. поля "следующая" и "предыдущая" туда просто вписывать id статьи, но чтобы ссылка была с чпу? Цитата Ссылка на сообщение Поделиться на других сайтах
kang 42 Опубликовано: 27 января 2010 Рассказать Опубликовано: 27 января 2010 Если вписывать просто id, то с ЧПУ не получится ИМХО. Цитата Ссылка на сообщение Поделиться на других сайтах
raspin 1 Опубликовано: 27 января 2010 Рассказать Опубликовано: 27 января 2010 Автор хотелось бы услышать от celsoft Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 27 января 2010 Рассказать Опубликовано: 27 января 2010 Создать два доп. поля "следующая" и "предыдущая" туда просто вписывать id статьи, но чтобы ссылка была с чпу? вписывайте ссылку целиком, хотя непонятно как вы вообще собираетесь это делать, откуда вы будете брать ID или ссылку следующей новости или например предыдущая новость была удалена. Будете постоянно править соседние новости Цитата Ссылка на сообщение Поделиться на других сайтах
aja711 1 Опубликовано: 27 января 2010 Рассказать Опубликовано: 27 января 2010 сорри за оффтоп, но такая возможность скрипту бы не помешала. Цитата Ссылка на сообщение Поделиться на других сайтах
kang 42 Опубликовано: 28 января 2010 Рассказать Опубликовано: 28 января 2010 Здравствуйте, подскажите как сделать автоматом, чтобы в полной версии новости ставились ссылки на следующую и предыдущую новости из этой же категории В файле 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} - следующая новость Цитата Ссылка на сообщение Поделиться на других сайтах
kang 42 Опубликовано: 28 января 2010 Рассказать Опубликовано: 28 января 2010 Дополнение. После: if( $backlink ) { Добавить: $backlink['date'] = strtotime( $backlink['date'] ); $backlink['category'] = intval( $backlink['category'] ); После: if ( $nextlink ) { Добавить: $nextlink['date'] = strtotime( $nextlink['date'] ); $nextlink['category'] = intval( $nextlink['category'] ); Цитата Ссылка на сообщение Поделиться на других сайтах
kang 42 Опубликовано: 28 января 2010 Рассказать Опубликовано: 28 января 2010 Дополнение: Найти $back_link = "<a href=\"" . $back_link . "\">" . stripslashes( $backlink['title'] ) . "</a>"; $next_link = "<a href=\"" . $next_link . "\">" . stripslashes( $nextlink['title'] ) . "</a>"; Заменить на: if( $back_link ) { $back_link = "Предыдущая статья: <a href=\"" . $back_link . "\">" . stripslashes( $backlink['title'] ) . "</a>"; } if( $next_link ) { $next_link = "Следующая статья: <a href=\"" . $next_link . "\">" . stripslashes( $nextlink['title'] ) . "</a>"; } Цитата Ссылка на сообщение Поделиться на других сайтах
raspin 1 Опубликовано: 28 января 2010 Рассказать Опубликовано: 28 января 2010 Автор Наиогромнейшее спасибо, с меня причитается... Восторгу нет предела... Цитата Ссылка на сообщение Поделиться на других сайтах
raspin 1 Опубликовано: 1 февраля 2010 Рассказать Опубликовано: 1 февраля 2010 (изменено) Автор Здравствуйте, у меня вопрос про сортировку, у меня на сайте сортировка идет по названию, а тут она идет по дате добавления. Так вот чтобы изменить сортировку ссылок хватит ли изменить код только в этом месте " AND approve = 1 ORDER BY date ASC LIMIT 1" заменить на " AND approve = 1 ORDER BY title ASC LIMIT 1" Изменено 1 февраля 2010 пользователем raspin Цитата Ссылка на сообщение Поделиться на других сайтах
kang 42 Опубликовано: 1 февраля 2010 Рассказать Опубликовано: 1 февраля 2010 Здравствуйте, у меня вопрос про сортировку, у меня на сайте сортировка идет по названию, а тут она идет по дате добавления. Так вот чтобы изменить сортировку ссылок хватит ли изменить код только в этом месте " AND approve = 1 ORDER BY date ASC LIMIT 1" заменить на " AND approve = 1 ORDER BY title ASC LIMIT 1" Нет. Кстати, вот исправленный код, в старом были небольшие недоработки. // Back Link $backlink = $db->super_query( "SELECT id, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE date < FROM_UNIXTIME({$row['date']}) AND category = '{$row['category']}' AND approve = '1' ORDER BY date DESC LIMIT 1" ); if( $backlink ) { $backlink['date'] = strtotime( $backlink['date'] ); $backlink['category'] = intval( $backlink['category'] ); 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, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE date > FROM_UNIXTIME({$row['date']}) AND category = '{$row['category']}' AND approve = '1' ORDER BY date ASC LIMIT 1" ); if ( $nextlink ) { $nextlink['date'] = strtotime( $nextlink['date'] ); $nextlink['category'] = intval( $nextlink['category'] ); 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 if( $back_link ) { $back_link = "Предыдущая новость: <a href=\"" . $back_link . "\">" . stripslashes( $backlink['title'] ) . "</a>"; } if( $next_link ) { $next_link = "Следующая новость: <a href=\"" . $next_link . "\">" . stripslashes( $nextlink['title'] ) . "</a>"; } $tpl->set( '{back-link}', $back_link ); $tpl->set( '{next-link}', $next_link ); А для того чтобы сортировка была по названию, попробуйте так: // Back Link $backlink = $db->super_query( "SELECT id, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE title < '{$row['title']}' AND category = '{$row['category']}' AND approve = '1' ORDER BY title DESC LIMIT 1" ); if( $backlink ) { $backlink['date'] = strtotime( $backlink['date'] ); $backlink['category'] = intval( $backlink['category'] ); 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, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE title > '{$row['title']}' AND category = '{$row['category']}' AND approve = '1' ORDER BY title ASC LIMIT 1" ); if ( $nextlink ) { $nextlink['date'] = strtotime( $nextlink['date'] ); $nextlink['category'] = intval( $nextlink['category'] ); 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 if( $back_link ) { $back_link = "Предыдущая новость: <a href=\"" . $back_link . "\">" . stripslashes( $backlink['title'] ) . "</a>"; } if( $next_link ) { $next_link = "Следующая новость: <a href=\"" . $next_link . "\">" . stripslashes( $nextlink['title'] ) . "</a>"; } $tpl->set( '{back-link}', $back_link ); $tpl->set( '{next-link}', $next_link ); Код не проверял, но должен работать. Цитата Ссылка на сообщение Поделиться на других сайтах
raspin 1 Опубликовано: 2 февраля 2010 Рассказать Опубликовано: 2 февраля 2010 Автор Огромное спасибо, все работает и сортировка по названию... с меня пиво... Цитата Ссылка на сообщение Поделиться на других сайтах
Webtun 3 Опубликовано: 21 июня 2011 Рассказать Опубликовано: 21 июня 2011 скажите пожалуйста на каком сайте можно глянуть пример? Цитата Ссылка на сообщение Поделиться на других сайтах
ABP0PA 3 Опубликовано: 19 марта 2014 Рассказать Опубликовано: 19 марта 2014 Прошло 4 года, чтонибудь изменилось? Какие сейчас актуальные способы для реализации такой функции? или может можно уже стандартными средствами решить... в документации вроде нет описания. Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 21 сентября 2014 Рассказать Опубликовано: 21 сентября 2014 Прошло 4 года, чтонибудь изменилось? Какие сейчас актуальные способы для реализации такой функции? или может можно уже стандартными средствами решить... в документации вроде нет описания. Присоединяюсь к вопросу. Есть ли рабочее решение поставить ссылки на следующею/предыдущею новости в категории? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.