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 6257 Опубликовано: 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 6257 Опубликовано: 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" Ссылка на сообщение Поделиться на других сайтах
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 года, чтонибудь изменилось? Какие сейчас актуальные способы для реализации такой функции? или может можно уже стандартными средствами решить... в документации вроде нет описания. Присоединяюсь к вопросу. Есть ли рабочее решение поставить ссылки на следующею/предыдущею новости в категории? Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Архивировано
Эта тема находится в архиве и закрыта для публикации сообщений.