2012-08-08 5 views
0

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

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

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

  • Artic ле 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

У меня был тот же вопрос здесь: Custom Sort Order with SimplePie

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

class SimplePie_Random_Sort extends SimplePie 
{ 
    public static function sort_items($a, $b) 
    { 
     return rand(-1, 1); 
    } 
} 
Смежные вопросы