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

Иключение категорий из rss


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

Здравствуйте, подскажите пожалуйста как правильно исключить отображение определенных категорий из RSS?

DLE 9.4

Делаю так в /engine/rss.php:


вместо

$db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );


вставляю

$db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY NOT IN (1,2,3) posi ASC" );

или

$db->query( "SELECT * FROM " . PREFIX . "_category WHERE category NOT IN (1,2,3) ORDER BY posi ASC" );


где (1,2,3) - ID категорий.

Но ничего не получается, категории все-равно отображаются в RSS.

Что не правильно делаю?

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

В таблице " . PREFIX . "_category нет поля "category", есть "id", в последнем запросе на него поменяйте, предыдущий sql неверен, ORDER by - это сортировка, а условие идет после WHERE.

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

В таблице " . PREFIX . "_category нет поля "category", есть "id", в последнем запросе на него поменяйте, предыдущий sql неверен, ORDER by - это сортировка, а условие идет после WHERE.

Если не сложно, напишите пожалуйста как будет правильно ?

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

$db->query( "SELECT * FROM " . PREFIX . "_category WHERE id NOT IN (1,2,3) ORDER BY posi ASC" );

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

Не помгло! Все-равно в RSS отображаются категории которые фильтрую этой строкой

$db->query( "SELECT * FROM " . PREFIX . "_category WHERE id NOT IN (1,2,3) ORDER BY posi ASC" );

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

Ну подскажите пожалуйста кто-нибудь как правильно исключить категории, очень нужно!

Вы все делаете в корне неправильно. Причем здесь этот файл и этот запрос? Этот запрос что новости получает? Нет. Это запрос получения информации о категориях если их нет в кеше. Никаких новостей этот запрос не получает и соответственно у вас ничего подобного работать не будет. Вам нужно править запрос получения новостей в файле engine/engine.php


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

$sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, votes, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve=1";

if ($config['rss_mtype']) {

$sql_select .= " AND allow_main=1";

}

$sql_select .= $where_date . " ORDER BY " . $config['news_sort'] . " " . $config['news_msort'] . " LIMIT 0," . $config['rss_number'];

}
[/CODE]

этот текст и запрос и править на свой, а не то что вы пытаетесь сделать.

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

Совершенно не разбираюсь в php :-( какие измненеия нужно сделать чтоб категории с ID 7 и 8 не выводились в rss?

Подскажите пожалуйста очень нужно!

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

kostyk,

Я не пишу модификаций скрипта по персональным заказам, поэтому каких либо готовых решений не даю. Тех поддержка помогает только разобраться со структурой скрипта, и может подсказать только где находится нужное вам место, но не пишет при этом готовых модификаций http://dle-news.ru/support.html

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

попробуй так:

непосредственно перед


if ($config['rss_mtype']) {

вставить

$sql_select .= " AND category NOT IN (1,2,3) ";

где 1,2,3 номера исключаемых категорий

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

попробуй так:

непосредственно перед


if ($config['rss_mtype']) {

вставить

$sql_select .= " AND category NOT IN (1,2,3) ";

где 1,2,3 номера исключаемых категорий

Не помогло :-(

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

kostyk,

а ты правильно вставил? скопируй фрагмент кода, который привел Владимир

в смысле скопируй его сюда, с изменениями . посмотрим

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

Вот


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


	 $sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, votes, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve=1";


	 $sql_select .= " AND category NOT IN (8,10) ";


	 if ($config['rss_mtype']) {


	  $sql_select .= " AND allow_main=1";


	 }

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

kostyk,

Вы после изменений кеш скрипта очищаете на главной странице админпанели? А также кеш браузера чтобы измения вступили в силу. Также для подобного запроса должна быть отключена поддержка мультикатегорий в настройках скрипта и сами новости должны быть опубликованы только в одной категории.

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

kostyk,

Вы после изменений кеш скрипта очищаете на главной странице админпанели? А также кеш браузера чтобы измения вступили в силу. Также для подобного запроса должна быть отключена поддержка мультикатегорий в настройках скрипта и сами новости должны быть опубликованы только в одной категории.

Сейчас весь кеш очистил все заработало спасибо огромное prikindel и celsoft!

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

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

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

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

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

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

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

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

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

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