2009-08-20 2 views
0

Я использую Dokuwiki для заполнения сайта известным набором страниц. Скажем, foo_1 - foo_9. Содержимое этих страниц изменится, но имена и местоположения никогда не будут.Пользовательский RSS-канал в Dokuwiki

Я хочу, чтобы обеспечить полноценный контент RSS-канал в определенном порядке только те страницы:

foo_1 
foo_2 
foo_3 
... 
foo_9 

Использование default syndication items это не представляется возможным (он всегда использует порядок сортировки новейших элементов в верхней части), поэтому я думал, что мне нужно создать индивидуальную копию feed.php

Проблема в том, что я не очень хороший PHP-разработчик, чтобы знать, что мне нужно изменить. В feed.php на линии 134 функция rss_buildItems выглядит так, как я хотел бы настроить. По сути, я хотел бы передать ему простой массив элементов, которые будут перечислены в правильном порядке (при условии, что это сработает), а затем удалить вызов, который собирает информацию (мне кажется, что в строке 288 функция getRecents() , но я тоже немного смущен этим). Итак, мне понадобится:

  1. Идентификатор или другие соответствующие данные страницы для того, что я хочу перечислить.
  2. Формат массива.
  3. Строки для блокировки, чтобы остановить метод записи на основе даты.

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

ответ

0

Я решил это сделать копию файла feed.php, затем с линии 288:

$recents = getRecents(0,$opt['items'],$opt['namespace'],$flags); 

И заменить его чем-то похожее на это:

$recents = array(array( "date" => "", 
          "ip" => "::1", 
          "type" => "E", 
          "id" => "foo", 
          "user" => "user", 
          "sum" => "", 
          "extra" => "", 
          "perms" => "1" 
          ), 
        array( "date" => "", 
          "ip" => "::1", 
          "type" => "E", 
          "id" => "bar", 
          "user" => "user", 
          "sum" => "", 
          "extra" => "", 
          "perms" => "1" 
        )     
       ); 

Кажется, отлично работает.

Смежные вопросы