2009-08-20 12 views
0

J'utilise Dokuwiki pour peupler un site avec un ensemble de pages connu. Dites, foo_1 à foo_9. Le contenu de ces pages va changer, mais les noms et les emplacements ne le seront jamais.Flux RSS personnalisé dans Dokuwiki

Je veux fournir un flux RSS complet contenu dans un ordre particulier de seulement ces pages:

foo_1 
foo_2 
foo_3 
... 
foo_9 

Utilisation du default syndication items il est impossible (il utilise toujours l'ordre de tri des articles les plus récents en haut), donc je pensais que je devrais créer une copie personnalisée de feed.php

Le problème est, je ne suis pas un assez bon développeur PHP pour savoir ce que je dois changer. Dans feed.php sur la ligne 134 la fonction rss_buildItems ressemble à ce que je voudrais modifier. Essentiellement, je voudrais lui passer un tableau simple des éléments à lister dans le bon ordre (en supposant que cela fonctionnerait), puis supprimer l'appel qui rassemble l'information (qui me semble être sur la ligne 288 la fonction getRecents() , mais je suis un peu confus à ce sujet aussi). Donc, je voudrais:

  1. L'ID ou d'autres données de page pertinentes pour ce que je veux lister.
  2. Le format du tableau.
  3. Les lignes à bloquer pour arrêter la méthode de listage basée sur la date.

Si quelqu'un pouvait me faire démarrer, ou a d'autres idées qui pourraient être plus faciles, je serais très reconnaissant.

Répondre

0

Je résolu ce problème en faisant une copie du fichier feed.php, puis prendre la ligne 288:

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

et le remplacer par quelque chose de semblable à ceci:

$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" 
        )     
       ); 

semble fonctionner à merveille.