'
Obgleich Drupal kein auf Blogs spezialisiertes CMS wie etwa WordPress ist, eignet es sich dennoch, um Weblogs damit zu betreiben. Im Folgenden werde ich euch erklären, wie ich vorgegangen bin.
UPDATE: Das Verändern des Core-Blog-Moduls ist keine schöne Lösung und sollte vermieden werden! Verwendet daher am Besten das Modul Views.
Das Blog-Modul, welches bereits in einer Standardinstallation von Drupal enthalten ist, trägt seinen Namen eigentlich nicht ganz zu Recht. Denn anders als der Name suggeriert, ist es für „Multi-User-Blogs“ ausgelegt (d.h. jeder registrierte Benutzer kann einen eigenen Blog anlegen), weshalb von dessen Benutzung häufig abgeraten wird.
Nun hat man mehrere Möglichkeiten: entweder auf das Core-Blog-Modul komplett verzichten und stattdessen etwa CCK und Views verwenden, oder man benutzt das es trotzdem und passt es für einen „Single-User-Blog“ entsprechend an. Ich habe mich für letzteres entschieden, da ich mich mit Drupal noch nicht gut genug ausgekannt habe und möglichst schnell und einfach einen Blog aufsetzen wollte.
In der Verlaufsnavigation (engl. breadcrumb), sowie unterhalb des Anrisstextes und des Beitrages wird standardmäßig „[Autor]’s blog“ angezeigt. Da bei einem „Single-User-Blog“ der Autor eindeutig ist, kann man diese Hinweise getrost entfernen.
In der Datei /modules/blog/blog.module nach
drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Blogs'), 'blog'), l(t("!name's blog", array('!name' => $node->name)), 'blog/'. $node->uid))); |
suchen und durch folgenden String ersetzen (den ursprünglichen Text am Besten nicht löschen, sondern mit // nur auskommentieren):
drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Blog'), 'blog'))); |
Als nächstes die nachfolgende Passage durch das Voranstellen von // auskommentieren:
function blog_link($type, $node = NULL, $teaser = FALSE) { $links = array(); if ($type == 'node' && $node->type == 'blog') { if (arg(0) != 'blog' || arg(1) != $node->uid) { // This goes to l() and therefore escapes !username in both the title and attributes. $links['blog_usernames_blog'] = array( 'title' => t("!username's blog", array('!username' => $node->name)), 'href' => "blog/$node->uid", 'attributes' => array('title' => t("Read !username's latest blog entries.", array('!username' => $node->name))) ); } } return $links; } |
Übrigens lässt sich dies alternativ auch mit CSS bewerkstelligen (was grundsätzlich besser, aber in diesem Fall nicht so schlimm ist, da man die Modul-Dateien ohnehin bearbeiten muss). Einfach folgende Zeile in die CSS eures Themes kopieren:
.links .blog_usernames_blog { display: none; } |
Zu guter Letzt muss noch die Seitenüberschrift „Weblogs“ korrigiert werden. Dazu immer noch in der Datei blog.module
'title' => 'Blogs', |
durch
'title' => 'Blog', |
Wen die deutsche Übersetzung „Weblog“ für „Blog“ stört, kann dies in der Datei /modules/blog/translations/modules-blog.de.po ändern
Nach ein klein wenig Handarbeit hat man nun aus einem „Multi-User-Blog“ einen normalen „Single-User-Blog“ gemacht. Andere Lösungen, wie etwa die oben verlinkte, bieten vermutlich mehr Flexibilität, aber die ist schließlich nicht immer notwendig.
Möchte man den Standardtext „Verfasst von [Autor] am Fr, 09/11/2009 – 15:01„ verändern, kann man entweder das Modul Submitted By nutzen oder das verwendete Theme entsprechend anpassen. Bei dem Theme Pixture bin ich folgendermaßen vorgegangen (bei anderen Themes dürfte es ähnlich oder gleich sein):
In der Datei /sites/all/themes/pixture/node.tpl.php folgende Zeile mit <!— * —> auskommentieren:
<span class="submitted"><?php print $submitted?></span> |
Darunter folgende Zeile einfügen und ggf. an die eigenen Wünsche anpassen:
<?php if ($submitted): ?> <span class="submitted"><?php print t('Von !username geschrieben am !date', array( '!username' => theme('username', $node), '!date' => format_date($node->created, 'custom', variable_get('date_format_medium', 'D, d.m.Y - H:i')))); ?></span> <?php endif; ?> |
Dies würde folgenden Text erzeugen „Von [Autor] geschrieben am Fr, 11.09.2009 – 15:01“. In der zweiten Zeile lässt sich der Text verändern und in Zeile 4 das Datumsformat.
Benötigt man den Autorennamen nicht, sondern nur das Datum, reichen folgende Zeilen aus:
<?php if ($submitted): ?> <span class="submitted"><?php print t('!date', array( '!date' => format_date($node->created, 'custom', variable_get('date_format_medium', 'D, d.m.Y - H:i')))); ?></span> <?php endif; ?> |
Möchte man den Text auch bei den Kommentaren ändern, kann man in der Datei comment.tpl.php (abhängig vom verwendeten Theme) folgenden Code nehmen und erhält somit „Gast schrieb am Sa, 12.09.2009 – 17:56 folgendes:“:
<div class="submitted"><span class="comment-id"><?php print "#" . $id; ?></span> <?php print t('!username schrieb am !date folgendes:', array( '!username' => theme('username', $comment), '!date' => format_date($comment->timestamp, 'custom', variable_get('date_format_medium', 'D, d.m.Y - H:i')))); ?> </div> |
Schaut euch einfach einmal die oben aufgelisteten Module an und installiert, was ihr gebrauchen könnt. Auf die einzelnen Module werde ich hier nicht genauer eingehen, da sie meist entweder selbsterklärend sind oder es schon genügend gute Anleitungen im Internet gibt.
Viel Spaß beim Bloggen mit Drupal!
Doch leider kommst du ein wenig zu spät, da ich, Janek Bettinger, meinen 2009 gestarteten Blog im Jahr 2011 nach 46 Beiträgen mit insgesamt 721 Kommentaren eingestellt habe.
Ich schrieb v.a. über Ubuntu und GNU/Linux, sowie vereinzelt über WordPress und sonstigen Themen des Internets.
Die Kommentarfunktion steht nur noch für ausgewählte Beiträge zur Verfügung.
Durch zahllose Updates des zugrundeliegendes Blogsystems in den vergangen Jahren, kann es an der ein oder anderen Stelle zu kleineren Fehlern kommen.
4 Kommentare zu Blog mit Drupal erstellen
» Kommentar schreibenDrupalPage
14. November 2010 um 17:05
Gratulation zu dem sehr informativen Beitrag. Mit dem Drupal Single User Blog setze ich mich gerade auch auseinander. Ich suche noch nach einer Möglichkeit den Blog ohne „hartes anpassen“ zu realisieren. Vielleicht gibt es noch ein Modul dafür?
Diesen Beitrag zitieren
Janek
14. November 2010 um 17:17
Zitat DrupalPage ↑:
Danke für dein Lob. Leider kann ich dir nicht weiterhelfen, da ich schon lange kein Drupal mehr verwende und mittlerweile auf WordPress umgestiegen bin.
Gruß
Diesen Beitrag zitieren
Kerbie
6. März 2011 um 11:36
Hallo,
ich denke mal das ist Ansichtssache. Hbe auch einiges an Systemen getestet und am Ende blieb nur WordPress. Das nutze ich auch jetzt und ich muss sagen, dass es einfach das Beste System ist. Auch wenn ich Drupal mag, aber an WordPress kommt sicher keiner mehr ran (vielleicht auch leider). Denn Konkurrenz belebt ja das Geschäft, da es aber eh kostenlos ist, spielt das wohl keine Rolle….
Trotzdem sehr guter Beitrag, den man mal im Auge behalten sollte. Ah ja,… wenn man sich mit WP ein wenig aus kennt, kan man WP auch sehr schön anpassen, auch über den Code.
Gruß
Diesen Beitrag zitieren