Adventtipp 11 – Admin Page im Sitecore Look&Feel mit CSV Export

sitecore-advent11

 

Wir kennen es alle! Eine zweckmässige Admin-Page ist schnell erstellt, sieht aber ohne Stylesheets hässlich aus. Mit nur wenigen Anpassungen ist es möglich der Seite ein wenig Anmut zu verpassen. Hinter Tür Nummer 11 findet ihr eine Anleitung für die Erstellung einer Sitecore Admin Page im Sitecore Look and Feel. Dazu gibts noch eine kleine Erweiterung für einen CSV Export. Die Code Schnippsel sollen als Grundlage für eine Admin-Page dienen.

Einfache Admin Page

Für eine einfache Admin Page im Sitecore Look and Feel muss folgendes gemacht werden:

Eine neue ASP.NET Web Forms Seite anlegen in der Webapplikation unter /sitecore/admin/MyAdminPage.aspx

Im HTML-Head die CSS und JS inkludieren, die Sitecore verwendet
Auf dem Form-Element die Klasse wf-container setzen

Den Inhalt in einem Div mit der Klasse wf-content wrappen
Beim Laden der Seite die Zugriffsberechtigung des Users prüfen

Eine einfache Implementierung davon sieht dann so aus:

scbasicadminpage

Der Code Dazu ist hier zu finden: ScBasicAdminPage.aspx

 

Admin Page mit CSV Export

Wenn man sich aus Sitecore ein paar Datensätze für ein CSV aggregieren will, genügt oftmals eine Admin Page. Nachfolgend ein kleines Beispiel, wie man sich über einen Button ein CSV generieren lassen und über den Browser downloaden kann.

scadminpagecsvexport

Damit wir ein paar Daten haben für das CSV, geben wir dem Benutzer die Möglichkeit, ein Item anzugeben, von welchem wir dann die Kinder verwenden um das CSV zu befüllen. Hierfür kann über eine TextBox der Item Pfad oder die Item ID angegeben werden. Die Web Form für das Beispiel sieht folgendermassen aus:
Damit wir nun über den ExportButton unser CSV als Download bekommen, modifizieren wir die Response in der definierten OnClick Funktion. Dazu gehört das Setzen der Content-Disposition, des Content Typs und des Outputs:
Et voilà! Das wars auch schon.

Der vollständige Code ist hier zu finden: ScAdminPageCsvExport.aspx

In den Beispielen ist der Code-Behind absichtlich in der Web Form  mit drin, damit der Code nicht kompiliert werden muss. Um der Microsoft Empfehlung gerecht zu werden, empfiehlt es sich die statischen von den dynamischen Code-Anteilen zu trennen. Dazu die dynamischen Anteile im <script runat=“server“> Element einfach in eine Klasse auslagern (z.B. SitecoreAdminPageCsvExport.aspx.cs) und diese anschliessend in der Web Form folgendermassen referenzieren:

Viel Spass beim Ausprobieren!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>