2010-03-09 1 views
1

Contexte
Notre fournisseur de messagerie prend en charge les flux rss pour le contenu dynamique, que nous utilisons avec succès pour les courriels de type «titre quotidien». C'est une aide précieuse dans l'automatisation de nombreux e-mails que nous n'avons pas de personnel à créer quotidiennement. Un de nos employés a demandé que son email quotidien (qui a récemment les titres de son blog Movable Type) ne fasse que les gros titres des entrées postées ce jour-là.MovableType: Est-il possible d'avoir un flux RSS pour les entrées "d'aujourd'hui"?

Ma question
Puisque nous utilisons Movable Type pour son blog, est-il un moyen de générer un flux rss qui ne contient que des éléments affichés le jour en cours?

Répondre

1

Votre solution peut être simplifiée en utilisant le paramètre "days" sur mt: Entrées:

<?xml version="1.0" encoding="<$MTPublishCharset$>"?> 
<feed xmlns="http://www.w3.org/2005/Atom"> 
<title><$MTBlogName remove_html="1" encode_xml="1"$></title> 
<link rel="alternate" type="text/html" href="<$MTBlogURL encode_xml="1"$>" /> 
<link rel="self" type="application/atom+xml" href="<$MTBlogURL$>atom.xml" /> 
<id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTDate format="%Y"$>:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id> 
<link rel="service.post" type="application/atom+xml" href="<$MTCGIPath$><$MTAtomScript$>/weblog/blog_id=<$MTBlogID$>" title="<$MTBlogName encode_html="1"$>" /> 
<updated><MTEntries lastn="1"><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></MTEntries></updated> 
<MTIfNonEmpty tag="MTBlogDescription"><subtitle><$MTBlogDescription remove_html="1" encode_xml="1"$></subtitle></MTIfNonEmpty> 
<generator uri="http://www.sixapart.com/movabletype/">Movable Type <$MTVersion$></generator> 

<MTEntries days="1"> 

<entry> 
<title><$MTEntryTitle remove_html="1" encode_xml="1"$></title> 
<link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>" /> 
<link rel="service.edit" type="application/atom+xml" href="<$MTCGIPath$><$MTAtomScript$>/weblog/blog_id=<$MTBlogID$>/entry_id=<$MTEntryID$>" title="<$MTEntryTitle encode_html="1"$>" /> 
<id><$MTEntryAtomID$></id> 

<published><$MTEntryDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></published> 
<updated><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></updated> 

<summary><$MTEntryExcerpt remove_html="1" encode_xml="1"$></summary> 
<author> 
    <name><$MTEntryAuthorDisplayName encode_xml="1"$></name> 
    <MTIfNonEmpty tag="MTEntryAuthorURL"><uri><$MTEntryAuthorURL encode_xml="1"$></uri></MTIfNonEmpty> 
</author> 
<MTEntryCategories> 
    <category term="<$MTCategoryLabel encode_xml="1"$>" /> 
</MTEntryCategories> 
<content type="html" xml:lang="<$MTBlogLanguage ietf="1"$>" xml:base="<$MTBlogURL encode_xml="1"$>"> 
<$MTEntryBody encode_xml="1"$> 
<$MTEntryMore encode_xml="1"$> 
</content> 
</entry> 

</MTEntries> 

Pas besoin de vérifier la date vous , cela supprime également les balises "entry" vides créées par votre version.

+0

Merci, c'est certainement mieux que ma solution ci-dessous – tomwolber

0

Okay, donc je me suis dit moi-même. J'ai d'abord dû créer un nouveau flux, que j'ai nommé "daily.xml" et copié le code par défaut de atom.xml dans celui-ci. Ensuite, j'ai utilisé setvarblock pour définir des variables pour la date actuelle et publier la date. Une fois cela fait, j'ai utilisé si pour comparer les 2 variables, et montrer celles qui correspondent.

Code:

<?xml version="1.0" encoding="<$MTPublishCharset$>"?> 
    <feed xmlns="http://www.w3.org/2005/Atom"> 
    <title><$MTBlogName remove_html="1" encode_xml="1"$></title> 
    <link rel="alternate" type="text/html" href="<$MTBlogURL encode_xml="1"$>" /> 
    <link rel="self" type="application/atom+xml" href="<$MTBlogURL$>atom.xml" /> 
    <id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTDate format="%Y"$>:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id> 
    <link rel="service.post" type="application/atom+xml" href="<$MTCGIPath$><$MTAtomScript$>/weblog/blog_id=<$MTBlogID$>" title="<$MTBlogName encode_html="1"$>" /> 
    <updated><MTEntries lastn="1"><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></MTEntries></updated> 
    <MTIfNonEmpty tag="MTBlogDescription"><subtitle><$MTBlogDescription remove_html="1" encode_xml="1"$></subtitle></MTIfNonEmpty> 
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type <$MTVersion$></generator> 

    <MTEntries lastn="15"> 


    <entry> 

    <!-- this sets the current date to a variable named "TodaysDate" --> 
    <mt:setvarblock name="TodayDate"><$mt:Date format="%Y%m%d"></mt:setvarblock> 

    <!-- this sets the entry publish date to a variable named "PublishedDate" -->  
    <mt:setvarblock name="PublishedDate"><$mt:EntryDate format="%Y%m%d"></mt:setvarblock> 

    <!-- starts an IF statement comparing equality of "PublishedDate" and "TodayDate". note: for some reason the second variable needs to have an '$' added to the front --> 
    <mt:if name="PublishedDate" eq="$TodayDate"> 

    <!-- the rest of this (except the end of the IF statement) is copied from default template --> 
    <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title> 
    <link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>" /> 
    <link rel="service.edit" type="application/atom+xml" href="<$MTCGIPath$><$MTAtomScript$>/weblog/blog_id=<$MTBlogID$>/entry_id=<$MTEntryID$>" title="<$MTEntryTitle encode_html="1"$>" /> 
    <id><$MTEntryAtomID$></id> 

    <published><$MTEntryDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></published> 
    <updated><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></updated> 

    <summary><$MTEntryExcerpt remove_html="1" encode_xml="1"$></summary> 
    <author> 
     <name><$MTEntryAuthorDisplayName encode_xml="1"$></name> 
     <MTIfNonEmpty tag="MTEntryAuthorURL"><uri><$MTEntryAuthorURL encode_xml="1"$></uri></MTIfNonEmpty> 
    </author> 
    <MTEntryCategories> 
     <category term="<$MTCategoryLabel encode_xml="1"$>" /> 
    </MTEntryCategories> 
    <content type="html" xml:lang="<$MTBlogLanguage ietf="1"$>" xml:base="<$MTBlogURL encode_xml="1"$>"> 
    <$MTEntryBody encode_xml="1"$> 
    <$MTEntryMore encode_xml="1"$> 
    </content> 

    <!-- end of our IF statement --> 
    </mt:if> 
    </entry> 


    </MTEntries> 

</feed>