SimplePie Multiple Feeds Случайный порядок

Я новичок в SimplePie и просматривал API и не мог найти то, что мне нужно. Мне нужно использовать простой пирог, чтобы получить случайные статьи из нескольких каналов. Я лучше объясню свой вопрос:

Вот как SimplePie теперь дает мне канал (в хронологическом порядке):

  • Статья 1 (CNN)
  • Статья 2 (CNN)
  • Статья 3 (CNN)
  • Статья 4 (CNN)
  • Статья 5 (CNN)

  • Статья 1 (YAHOO)

  • Статья 2 (YAHOO)
  • Статья 3 (YAHOO)
  • Статья 4 (YAHOO)
  • Статья 5 (YAHOO)

  • Статья 1 (GOOGLE)

  • Статья 2 (GOOGLE)
  • Статья 3 (GOOGLE)
  • Статья 4 (GOOGLE)
  • Статья 5 (GOOGLE)

Вот как мне это нужно (в случайном порядке):

  • Статья 3 (CNN)
  • Статья 1 (GOOGLE)
  • Статья 5 (YAHOO)
  • Статья 3 (GOOGLE)
  • Статья 2 (CNN)
  • Статья 4 (YAHOO)
  • Статья 1 (CNN)
  • Статья 3 (GOOGLE)
  • Статья 3 (YAHOO)

и так далее..

Насколько я знаю, мне нужно было бы каждый раз создавать отдельный канал SimplePie только для того, чтобы вытащить одну уникальную статью. Я хочу, чтобы Simple Pie мог сделать это одним вызовом, но просто переставил их, прежде чем он отправит их обратно. Так что вроде как собственный курорт.

Пожалуйста помоги:)

1 ответ

Решение

У меня был такой же вопрос: пользовательский порядок сортировки с SimplePie

Вам нужно расширить класс.

class SimplePie_Random_Sort extends SimplePie
{
    public static function sort_items($a, $b)
    {
        return rand(-1, 1);
    }
}
Другие вопросы по тегам