Die Tücken des Blog Moduls

Silverstripe zeichnet sich durch viele durchdachte Module aus. Eines der wichtigsten ist sicherlich das Blog Modul. Für Redakteure, die sich mit dem SilverStripe Backend schwer tun, bietet das Blog Modul eine Frontend Verwaltung.

Leider werden alle Beiträge, die über das Frontend Formular gepostet wurden als englischsprachig in der Datenbank gespeichert. Über das Frontend lässt sich die Sprache leider nicht einstellen. Hier hilft nur ein kleiner Kunstgriff durch einen Programmierer. Die Methode "postblog" im BlogHolder_Controller muss um eine Zeile erweitert werden. Hier der Originale Codeausschnitt aus der Methode:

$form->saveInto($blogentry);
           $blogentry->ParentID = $this->ID;
           $blogentry->Content = $form->datafieldByName('BlogPost')->dataValue();
           $blogentry->Status = "Published";
           $blogentry->writeToStage("Stage");
           $blogentry->publish("Stage", "Live");

Hier muss jetzt das Attribut "Locale" angepasst werden. Das Ergebnis sieht dann so aus:

$form->saveInto($blogentry);
           $blogentry->ParentID = $this->ID;
           $blogentry->Content = $form->datafieldByName('BlogPost')->dataValue();
              $blogentry->Locale = "de_DE"; //Die Einträge werden sonst mit en_US gespeichert.
           $blogentry->Status = "Published";
           $blogentry->writeToStage("Stage");
           $blogentry->publish("Stage", "Live");

Viel Spass beim FrontendBloggen in deutscher Sprache ;)

Tags: