User sollen ihrem Blog einen Namen geben können
Eingetragen von DrupalFan (1646)
am 07.09.2007 - 14:43 Uhr in
am 07.09.2007 - 14:43 Uhr in
Beim Blog-Modul werden alle Blogs aufgelistet, aber man kann auch auf "Blog von UserX" klicken und landet somit auf
/blog/userX
Der Blog heißt dort aber immer
"Blog von userX".
Sinnvoll wäre es, wenn der Blogger diesen Titel selbst verändern könnte, und wenn uns nur in seinem Account unter "Mitgliedsseite - Bearbeiten" möglich wäre.
Wie kann man sinnvoll oder mittels Crack den Blogtitel vom User selbst setzen lassen?
Vielen Dank.
- Anmelden oder Registrieren um Kommentare zu schreiben
Profilfeld
am 07.09.2007 - 14:54 Uhr
Du könntest dem Benutzer im Profil ein Feld 'Name meines Blogs' anbieten. Wenn es ausgefüllt ist, benutzt du das ansonsten den Standardwert.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Genau
am 07.09.2007 - 14:59 Uhr
Ja genau, und wie bekomme ich das dann in den Titel des Blogs (es soll ja auch der Seitentitel so lauten wie der Blog, das ist jetzt schon so)?
blog.tpl.php
am 07.09.2007 - 15:03 Uhr
Dazu muss du eine Anpassung im blog.tpl.php machen. Da wo jetzt print $title steht, muss was rein wie print $user->profile_blog_name.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
kein blog.tpl.php
am 07.09.2007 - 15:48 Uhr
Ich hab kein blog.tpl.php und auch in allen installierten Themes ist diese nicht vorhanden.
Baut man es direkt in Blog.module ein, funktioniert es nicht, weil die Variable $user->profile_blogname nicht gesetzt ist, $user->name und $user->uid sind an der Stelle aber schon gesetzt, nur die selbst definierten nicht.
Templates
am 07.09.2007 - 16:42 Uhr
Du hast auch sicherlich kein forum.tpl.php, kein page-front.tpl.php usw.
Die meisten Themes haben nur die Standard-Templates wie page.tpl.php und node.tpl.php. Weitere Templates muss man sich natürlich selber schreiben. Und für meinen Vorschlag benötigst du ein User Profil.
Tipp: nicht in den Modulen "rumfummeln".
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Einfache Lösung
am 07.09.2007 - 17:18 Uhr
Habe nun eine Lösung, statt $user muss man $account nehmen:
if ($account->profile_blogname != "") {
drupal_set_title($title = t("@blogname / @name", array('@name' => $account->name, '@blogname' => $account->profile_blogname) ));
} else {
drupal_set_title($title = t("@name's blog", array('@name' => $account->name)));
}
Da sowieso ein paar kleine Änderungen im blog.module nötig sind, die über theming nicht machbar sind, ist die eine zusätzliche Zeile auch kein Schaden. Die alternative wäre eine vollständige blog.tpl.php aufzubauen, was viel mehr Aufwand ist und viel mehr Code benötigt.
DrupalFan wrote: Habe nun
am 07.09.2007 - 23:28 Uhr
Habe nun eine Lösung, statt $user muss man $account nehmen:
if ($account->profile_blogname != "") {
drupal_set_title($title = t("@blogname / @name", array('@name' => $account->name, '@blogname' => $account->profile_blogname) ));
} else {
drupal_set_title($title = t("@name's blog", array('@name' => $account->name)));
}
Da sowieso ein paar kleine Änderungen im blog.module nötig sind, die über theming nicht machbar sind, ist die eine zusätzliche Zeile auch kein Schaden. Die alternative wäre eine vollständige blog.tpl.php aufzubauen, was viel mehr Aufwand ist und viel mehr Code benötigt.
Es spricht ja nichts dagegen, wenn du das so machst.
Für alle anderen: eine Kleinigkeit, wie das ändern eines Titels, sei es nun der Name eines Blogs oder was auch immer, benötigt keine Änderung an Drupal Core Modulen.
Der Aufwand, das über ein eigenes Template zu machen, lohnt sich immer.
Und auch die von dir gewünschte Änderung ist mittels theming zu machen und benötigt keine Änderung im blog.module.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services