Пользовательский канал RSS в Dokuwiki
Я использую Dokuwiki для наполнения сайта известным набором страниц. Сказать, foo_1
через foo_9
, Содержимое этих страниц будет меняться, но названия и местоположения никогда не изменятся.
Я хочу предоставить полноценный RSS-канал в определенном порядке, состоящем только из этих страниц:
foo_1
foo_2
foo_3
...
foo_9
Использование элементов синдикации по умолчанию невозможно (всегда используется порядок сортировки новых элементов сверху), поэтому я подумал, что мне нужно будет создать настроенную копию feed.php
Проблема в том, что я не достаточно хороший PHP-разработчик, чтобы знать, что мне нужно изменить. В feed.php
в строке 134 функция rss_buildItems
Похоже, что я хотел бы настроить. По сути, я хотел бы передать ему простой массив элементов для перечисления в правильном порядке (при условии, что это сработает), а затем удалить вызов, собирающий информацию (который, как мне кажется, находится в строке 288, функции getRecents()
, но я тоже немного запутался в этом). Итак, мне нужно:
- Идентификатор или другие соответствующие данные страницы для того, что я хочу перечислить.
- Формат массива.
- Строки, чтобы заблокировать, чтобы остановить основанный на дате метод листинга.
Если бы кто-нибудь мог начать меня, или у него есть другие идеи, которые могли бы быть проще, я был бы очень признателен.
1 ответ
Я решил это, сделав копию файла 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"
)
);
Кажется, отлично работает.