30.05.2010
MODx: RSS-Feed mit Ditto selbst gemacht
zur Übersicht 0 Kommentare von Bogdan
Ditto kann zwar von Haus aus RSS-Feeds ausgeben, aber anpassen lässt sich diese Ausgabe leider nicht. Wer einen komplett anpassbaren RSS-Feed in MODx ausgeben möchte, kann das relativ leicht mit den folgenden Schritten einrichten.
Schritt 1:
RSS-Ressource Inhalt
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>[(site_name)]</title>
<link>[(site_url)]</link>
<description>RSS-Feed mit MODx und Ditto</description>
<language>de</language>
<copyright>[(site_name)] [!getDate &format=`Y`!]</copyright>
<ttl>120</ttl>
[!Ditto? &parents=`3,62` &tpl=`rssTpl` &showInMenuOnly=`1` &depth=`2` &summarize=`20` &sortBy=`createdon` &sortDir=`DESC`!]
</channel>
</rss>
Erklärung der Platzhalter und Snippet-Aufrufe
[(site_name)]: MODx-Konfigurationsvariable, enthält den Seitennamen[(site_url)]: MODx-Konfigurationsvariable, enthält die Seiten-URL[!getDate &format=`Y`!]: eigenes Snippet zur Datumsausgabe (siehe unten)[!Ditto? … !]: Ditto-Aufruf zur Ausgabe der einzelnen RSS-Einträge (Parameter entsprechend der eigenen Konfiguration anpassen)
Hinweise zur Ressource
- Als Template „blank“ auswählen, denn im Content steht bereits alles, was für den RSS-Feed benötigt wird.
- Für den Inhaltstyp (unter den Seiteneinstellungen) „text/xml“ auswählen, da ein RSS-Feed ein XML-Dokument ist.
- Werte und Parameter sind natürlich nur beispielhaft und können / sollen entsprechend der eignen Konfiguration angepasst werden.
Schritt 2:
Damit ist die Ressource angelegt, die später den RSS-Feed ausgeben wird. Jetzt benötigen wir noch das RSS-Template für Ditto.
Chunk „rssTpl“ als Ditto-Template
<item> <title>[+longtitle+]</title> <link>[(site_url)][~[+id+]~]</link> <description><![CDATA[ [+introtext+] ]]></description> <pubDate>[!getDocumentDate &date=`editedon` &id=`[+id+]` &format=`r`!]</pubDate> <guid isPermaLink="true">[(site_url)][~[+id+]~]</guid> <dc:creator>[(site_name)]</dc:creator> </item>
Erkärung der Platzhalter und Snippet-Aufrufe
[+longtitle+]: Ditto-Platzhalter für den Langtitel[+introtext+]: Ditto-PLatzhalter für die Zusammenfassung[(site_name)]: MODx-Konfigurationsvariable, enthält den Seitennamen[(site_url)]: MODx-Konfigurationsvariable, enthält die Seiten-URL[~[+id+]~]: Ditto-Platzhalter für den Link zur Ressource[!getDocumentDate … !]: eigenes Snippet zur Datumsausgabe (siehe unten)
Hinweise zum Chunk
- Werte und Parameter sind natürlich nur Beispielhaft und können / sollen entsprechend der eigenen Konfiguration angepasst werden.
Schritt 3:
Jetzt brauchen wir nur noch zwei kleine Snippets für die Datumsausgabe.
Snippet „getDate“
<?php // Syntax: [!getDate &format=`Y`!] // Formatinfo unter: http://de.php.net/manual/de/function.date.php echo(date($format)); ?>
Snippet „getDocumentDate“
<?php // Syntax: [!getDocumentDate &date=`editedon` &id=`5` &format=`r`!] // Formatinfo unter: http://de.php.net/manual/de/function.date.php $document=$modx->getDocument($id); $secs=$document[$date]; echo(date($format, $secs)); ?>
Fertig ist der eigene, voll konfigurierbare RSS-Feed! Der Quelltext der Ausgabe sollte in etwa so aussehen:
Quelltext des RSS-Feeds
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Blog.Medianotions</title>
<link>http://blog.medianotions.de/</link>
<description>Gedanken, Nützliches und Beiträge rund um die Themen Webdesign und Web-Programmierung.</description>
<language>de</language>
<copyright>Blog.Medianotions 2010</copyright>
<ttl>120</ttl>
<item>
<title>Sehenswert: rareview.com</title>
<link>http://blog.medianotions.de/de/sehenswert/2010/rareview.com</link>
<description><![CDATA[ rareview ist eine in Los Angeles ansässige Agentur für Web-Applikationen und hat nicht nur eine Website die schön anzuschauen ist, sondern auch eine beeindruckende Referenzen-Liste. ]]></description>
<pubDate>Sun, 30 May 2010 13:56:25 +0200</pubDate>
<guid isPermaLink="true">http://blog.medianotions.de/de/sehenswert/2010/rareview.com</guid>
<dc:creator>Blog.Medianotions</dc:creator>
</item>
<item>
<title>MODx: Doc Finder 1.6 veröffentlicht</title>
<link>http://blog.medianotions.de/de/artikel/2010/modx-doc-finder-1.6-veroeffentlicht</link>
<description><![CDATA[ In der Version 1.6 sucht und ersetzt der Doc Finder nun auch in MODx Evolution. ]]></description>
<pubDate>Tue, 18 May 2010 15:57:21 +0200</pubDate>
<guid isPermaLink="true">http://blog.medianotions.de/de/artikel/2010/modx-doc-finder-1.6-veroeffentlicht</guid>
<dc:creator>Blog.Medianotions</dc:creator>
</item>
<item>
<title>CSS-Page-Tagging</title>
<link>http://blog.medianotions.de/de/artikel/2010/css-page-tagging</link>
<description><![CDATA[ CSS-Page-Tagging bedeutet, CSS-Klassen als „Tag“ für eine flexible Seitenanpassung zu nutzen. Damit ist es möglich schnell und flexibel Ausnahmen bei der Umsetzung eines Webdesign zu berücksichtigen. ]]></description>
<pubDate>Mon, 10 May 2010 09:28:52 +0200</pubDate>
<guid isPermaLink="true">http://blog.medianotions.de/de/artikel/2010/css-page-tagging</guid>
<dc:creator>Blog.Medianotions</dc:creator>
</item>
[…]
</channel>
</rss>
Links
Verwandte Artikel
–






Kommentar schreiben
0 Kommentare