Navigation and service panel


Content

This text is fallbacked from the German Version. If you need use Google Translate


Sitecore Feed Erweiterungen

By Kevin Brechbühl on 10. October 2012, No comments

Nicht selten möchte man auf einer Webseite einen RSS Feed anbieten. Sitecore bietet dafür eine Funktionalität, mit welcher der Entwickler mit ganz wenig Konfiguration einen RSS Feed erstellen kann. Oft reicht die Standardfunktionalität jedoch nicht aus. Auch hier hat Sitecore eine Lösung, welche im folgenden Blogpost kurz erläutert wird.

Um einen Sitecore Feed zu erstellen, müssen zuerst die Items konfiguriert werden, welche im RSS Feed erscheinen sollen. Dazu muss der Feed in den Standard Values aller gewünschten Templates "designed" werden (es muss definiert werden, welche Felder für welche Feed-Eigenschaft verwendet werden soll). Dies kann im Presentation Ribbon gemacht werden:

Feed Templates

Nach abgeschlossener Konfiguration wird in den Layout Details dieser Items für das Feed Medium das Control FeedRenderer eingefügt:

Layout Details

Einen RSS Feed kann der Autor oder der Entwickler überall unterhalb von /sitecore/content einfügen. Er ist über die URL erreichbar, wie jedes andere Item auch. Dafür muss das von Sitecore zur Verfügung gestellte Template /sitecore/templates/System/Feeds/RSS Feed verwendet werden. Im Feld "Items" können die Items ausgewählt werden, welche im Feed erscheinen sollen. Hier wird entweder ein Link eingetragen (alle Kindelemente erscheinen im Feed) oder die Items werden via Sitecore Query ausgewählt. Zusätzlich können noch Eigenschaften wie Titel, Beschreibung etc. hinterlegt werden. Es werden nun alle Items im RSS Feed angezeigt, welche die Suchkriterien erfüllen und für welche das Feed Delivery Layout konfiguriert wurde (siehe vorheriger Schritt).

Manchmal reicht diese simple Integration jedoch nicht aus. Es könnte sein, dass man beispielsweise den Titel eines Feeds dynamisch setzen möchte. Ein möglicher Anwendungsfall ist dieses Blog, welches ein RSS Feed für jeden Autor zur Verfügung stellt. Dazu kann im Feld "Type" eine Klasse angegeben werden, welche eine eigene Implementierung eines Feeds darstellt:

Feed Type

Diese Klasse muss von Sitecore.Syndication.PublicFeed erben und kann jede Methode überschreiben. Folgender Code würde den Titel des Feeds überschreiben:

using System.ServiceModel.Syndication;
namespace Syndication
{
    public class TestFeed : Sitecore.Syndication.PublicFeed
    {
       protected override void SetupFeed(SyndicationFeed feed)
        {
            base.SetupFeed(feed);
            feed.Title = new TextSyndicationContent("Neuer Titel");
        }
    }
}


Weitere Informationen zu RSS Feeds sind im Presentation Component Cookbook und Content Author’s Cookbook zu finden.

No comments

Add your comment

Your email address will not be published. Required fields are marked *

*