Как показать в RSS только новые темы?

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
rondob
phpBB 1.0.0
Сообщения: 4
Стаж: 16 лет 2 месяца
Благодарил (а): 2 раза

Как показать в RSS только новые темы?

Сообщение rondob »

Добрый день!
У меня такой вопрос, как можно настроить отображение в RSS (Atom) только новых тем форумов? Т.е. чтобы там отображались лишь темы, без ответов на посты. Спасибо за помощь.
papasha
phpBB 1.2.0
Сообщения: 10
Стаж: 16 лет 2 месяца

Re: Как показать в RSS только новые темы?

Сообщение papasha »

Добрый вечер. =)

Нужно дописать в файл feed.php в эту секцию:

Код: Выделить всё

		// Determine topics with recent activity
		$sql = 'SELECT topic_id, topic_last_post_time
			FROM ' . TOPICS_TABLE . '
			WHERE ' . $db->sql_in_set('forum_id', $forum_ids) . '
                                

                                
				AND topic_moved_id = 0
				AND (topic_approved = 1
					' . $sql_m_approve . ')
			ORDER BY topic_last_post_time DESC';
		$result = $db->sql_query_limit($sql, $this->num_items);
Нечто подобное:

Код: Выделить всё

AND topic_replies = 0
rondob
phpBB 1.0.0
Сообщения: 4
Стаж: 16 лет 2 месяца
Благодарил (а): 2 раза

Re: Как показать в RSS только новые темы?

Сообщение rondob »

Сделал таким образом, но результата никакого, все отображается по прежнему:
// Determine topics with recent activity
$sql = 'SELECT topic_id, topic_last_post_time
FROM ' . TOPICS_TABLE . '
WHERE ' . $db->sql_in_set('forum_id', $forum_ids) . '

AND topic_replies = 0
AND topic_moved_id = 0
' . ((!$m_approve) ? 'AND topic_approved = 1' : '') . '
ORDER BY topic_last_post_time DESC';
$result = $db->sql_query_limit($sql, $this->num_items);
papasha
phpBB 1.2.0
Сообщения: 10
Стаж: 16 лет 2 месяца

Re: Как показать в RSS только новые темы?

Сообщение papasha »

В итоге такой код должен быть:

Код: Выделить всё

// Determine topics with recent activity
      $sql = 'SELECT topic_id, topic_last_post_time
         FROM ' . TOPICS_TABLE . '
         WHERE ' . $db->sql_in_set('forum_id', $forum_ids) . '
            AND topic_replies = 0
            AND topic_moved_id = 0
            AND (topic_approved = 1
               ' . $sql_m_approve . ')
         ORDER BY topic_last_post_time DESC';
      $result = $db->sql_query_limit($sql, $this->num_items);
Я предполагал, что место, куда надо дописать условие очевидно.

Зачем Вы эту строку куда-то перенесли?

Код: Выделить всё

AND (topic_approved = 1
Ещё и скобочек понаставили непонятного происхождения! :)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Как показать в RSS только новые темы?

Сообщение rxu »

а чем не устраивает стандартный функционал?
Включить канал новых тем:
Включает канал «Новые темы», который позволяет получать информацию о новых темах, с текстом первого сообщения.
Изображение
rondob
phpBB 1.0.0
Сообщения: 4
Стаж: 16 лет 2 месяца
Благодарил (а): 2 раза

Re: Как показать в RSS только новые темы?

Сообщение rondob »

papasha писал(а):В итоге такой код должен быть:

Код: Выделить всё

// Determine topics with recent activity
      $sql = 'SELECT topic_id, topic_last_post_time
         FROM ' . TOPICS_TABLE . '
         WHERE ' . $db->sql_in_set('forum_id', $forum_ids) . '
            AND topic_replies = 0
            AND topic_moved_id = 0
            AND (topic_approved = 1
               ' . $sql_m_approve . ')
         ORDER BY topic_last_post_time DESC';
      $result = $db->sql_query_limit($sql, $this->num_items);
Я предполагал, что место, куда надо дописать условие очевидно.

Зачем Вы эту строку куда-то перенесли?

Код: Выделить всё

AND (topic_approved = 1
Ещё и скобочек понаставили непонятного происхождения! :)

Извините, не туда поставил строку, Вы пишете про строку номер 755, а я почему-то подумал что нужно редактировать этот блок со строки номер 891. Теперь все работает! Спасибо Вам огромное за поддержку!

Добавлено спустя 1 минуту 49 секунд:
rxu писал(а):а чем не устраивает стандартный функционал?
Да сколько не пытался включить отображение ТОЛЬКО новых тем, никак не получается. Либо все отображается (и темы и ответы), либо вообще ничего в канале нет.

Добавлено спустя 16 минут 43 секунды:
Всем спасибо огромное за помощь! С настройками разобрался, теперь все работает как нужно.

Вернуться в «Поддержка phpBB 3.0.х»