Перейти к публикации

Как исключить из RSS определенные категории


Рекомендованные сообщения

Возникла проблема: в RSS транслируется все, что публикуется на сайте.

Как исключить из RSS определенные категории?

Очень нужно убрать новости сайта, технические объявления и т.п., а не знаю как это сделать.

Ссылка на сообщение
Поделиться на других сайтах

Это вопрос по DLE? Тогда надо писать в соответствующий раздел.

Чтобы исключить не нужные категории, надо изменить sql запросы в engine.php

WHERE category = '1' - выведет в RSS только новости из категории с ID = 1

WHERE category IN ('1,2,3,4') - выведет из категорий перечисленных через запятую

WHERE category NOT IN ('1,2,3,4') - выведет из всех категорий, кроме перечисленных

Например, находим в engine.php

$sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve";
И в конец запроса добавляем - AND category = '1':
$sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve AND category = '1'";

Получаем в RSS новости только из категории с ID = 1

Только это надо изменить и при просмотре из определенной категории, просмотре определенного пользователя и т.д.. Там код прокомментирован :)

Изменено пользователем МASTER
Ссылка на сообщение
Поделиться на других сайтах

МASTER, спасибо вам большое!

1. Да, речь о DLE, причем лицензионном. :)

2. Мне, конечно, было бы проще, если бы пример был сделан на исключение, т.е.

"Получаем, что в RSS не транслируются новости из категории с ID = 1, 2, 3...

Что для этого вместо

AND category = '1';

нужно добавить в конец запроса?

P.S. Прошу не пинать, т.к. ничего не соображаю в программировании.

Ссылка на сообщение
Поделиться на других сайтах

2. Мне, конечно, было бы проще, если бы пример был сделан на исключение, т.е.

"Получаем, что в RSS не транслируются новости из категории с ID = 1, 2, 3...

AND category NOT IN ('1,2,3,4')

Изменено пользователем МASTER
Ссылка на сообщение
Поделиться на других сайтах

К сожалению не получилось. У меня код немного другой (DLE7.0):

if (isset($view_template) AND $view_template == "rss") {

$sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE {$where_category} AND approve = '1'".$where_date." ORDER BY fixed desc, ".$cat_order." ".$cat_sort." LIMIT 0,".$config['rss_number'];

Сделал так:

$sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE {$where_category} approve AND category NOT IN ('1,2,3,4')" ORDER BY fixed desc, ".$cat_order." ".$cat_sort." LIMIT 0,".$config['rss_number'];

Новости из "ненужных" категорий все равно транслируются в RSS.

Может быть что-то нужно изменить в rss.php ?

Изменено пользователем alwe
Ссылка на сообщение
Поделиться на других сайтах

МASTER, вы написали:

"Только это надо изменить и при просмотре из определенной категории, просмотре определенного пользователя и т.д.. Там код прокомментирован"

Прошу прощения, возможно, за глупый вопрос, а зачем это менять? Если не менять, то работать не будет?

Изменено пользователем alwe
Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...