2008-08-11 18 views
0

Après quelques heures de combat avec le Gallery2RSS module et d'obtenir seulement le message, "aucun flux n'a encore été défini", j'ai abandonné. Basé sur a Google search for "no feeds have yet been defined", c'est un problème assez commun. Avez-vous des astuces et/ou astuces pour faire fonctionner le module RSS Gallery2? Ou des conseils pour un développeur relativement ignorant de PHP essayant de déboguer des problèmes avec cette application PHP?Flux RSS depuis Gallery2

Répondre

1

Ma solution éventuelle (et j'espère temporaire) à ce problème était un script CGI Python. Mon script suit pour tous ceux qui pourraient le trouver utile (malgré le fait que c'est un hack total).

#!/usr/bin/python 
"""A CGI script to produce an RSS feed of top-level Gallery2 albums.""" 

#import cgi 
#import cgitb; cgitb.enable() 
from time import gmtime, strftime 
import MySQLdb 

ALBUM_QUERY = ''' 
    select g_id, g_title, g_originationTimestamp 
    from g_Item 
    where g_canContainChildren = 1 
    order by g_originationTimestamp desc 
    limit 0, 20 
    ''' 

RSS_TEMPLATE = '''Content-Type: text/xml 

<?xml version="1.0"?> 
<rss version="2.0"> 
    <channel> 
    <title>TITLE</title> 
    <link>http://example.com/gallery2/main.php</link> 
    <description>DESCRIPTION</description> 
    <ttl>1440</ttl> 
%s 
    </channel> 
</rss> 
''' 

ITEM_TEMPLATE = ''' 
    <item> 
     <title>%s</title> 
     <link>http://example.com/gallery2/main.php?g2_itemId=%s</link> 
     <description>%s</description> 
     <pubDate>%s</pubDate> 
    </item> 
''' 

def to_item(row): 
    item_id = row[0] 
    title = row[1] 
    date = strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime(row[2])) 
    return ITEM_TEMPLATE % (title, item_id, title, date) 

conn = MySQLdb.connect(host = "HOST", 
         user = "USER", 
         passwd = "PASSWORD", 
         db = "DATABASE") 
curs = conn.cursor() 
curs.execute(ALBUM_QUERY) 
print RSS_TEMPLATE % ''.join([ to_item(row) for row in curs.fetchall() ]) 
curs.close() 
-2

Eh bien, je ne suis pas sûr que cela peut vous aider, mais voici un flux RSS très simple qui a été présenté comme solution dans un autre sujet:

PHP RSS Builder