вопрос
Существует хак Предыдущая - следующая новость [DLE 9.2 - 10.0], хорошо работает и на 10.2. Новости листает по всем категориям. Вопрос в следующем: как сделать выборку только по опледеленным категориям, а не по всем?
<?php
$previd = $row['id'] - 1;
$nextid = $row['id'] + 1;
$row_next = $db->get_row($db->query("SELECT id,title,alt_name,date,category FROM " . PREFIX . "_post WHERE `id`='$nextid'"));
$row_prev = $db->get_row($db->query("SELECT id,title,alt_name,date,category FROM " . PREFIX . "_post WHERE `id`='$previd'"));
$row_max = $db->get_row($db->query("SELECT id FROM " . PREFIX . "_post ORDER BY id DESC"));
if ($config['allow_alt_url'] == "yes") {
if ($config['seo_type'] == 1 OR $config['seo_type'] == 2) {
if ($row['category'] and $config['seo_type'] == 2) {
if ($nextid > $row_max['id']) {
$next_link = '#';
}
else {
$next_link = $config['http_home_url'] . get_url($row_next['category']) . "/" . $row_next['id'] . "-" . $row_next['alt_name'] . ".html";
}
if ($previd < 1) {
$prev_link = '#';
}
else {
$prev_link = $config['http_home_url'] . get_url($row_prev['category']) . "/" . $row_prev['id'] . "-" . $row_prev['alt_name'] . ".html";
}
}
else {
if ($nextid > $row_max['id']) {
$next_link = '#';
}
else {
$next_link = $config['http_home_url'] . $row_next['id'] . "-" . $row_next['alt_name'] . ".html";
}
if ($previd < 1) {
$prev_link = '#';
}
else {
$prev_link = $config['http_home_url'] . $row_prev['id'] . "-" . $row_prev['alt_name'] . ".html";
}
}
}
else {
if ($nextid > $row_max['id']) {
$next_link = '#';
}
else {
$next_link = $config['http_home_url'] . date('Y/m/d/', $row_next['date']) . $row_next['alt_name'] . ".html";
}
if ($previd < 1) {
$prev_link = '#';
}
else {
$prev_link = $config['http_home_url'] . date('Y/m/d/', $row_prev['date']) . $row_prev['alt_name'] . ".html";
}
}
}
else {
if ($nextid > $row_max['id']) {
$next_link = '#';
}
else {
$next_link = $config['http_home_url'] . "index.php?newsid=" . $row_next['id'];
}
if ($previd < 1) {
$prev_link = '#';
}
else {
$prev_link = $config['http_home_url'] . "index.php?newsid=" . $row_prev['id'];
}
}
if ($nextid > $row_max['id']) {
$tpl->set('{next.title}', 'Это последняя публикация!');
}
else {
$tpl->set('{next.title}', $row_next['title']);
}
if ($previd < 1) {
$tpl->set('{prev.title}', 'Это первая публикация!');
}
else {
$tpl->set('{prev.title}', $row_prev['title']);
}
$tpl->set('{next.link}', $next_link);
$tpl->set('{prev.link}', $prev_link);