[gelöst] wie finde ich die datenbankpfade heraus ?
am 19.12.2009 - 11:57 Uhr in
Hi Leute,
Momentan versuche ich eine eigene user_profile.tpl.php zu erstellen. Bei den Profilfeldern an sich gibt es soweit keine Probleme.
Schwierig wirds für mich erst wenn ich dann zum Beispiel die UserPunkte anzeigen lassen möchte.
Da habe ich hier im Forum schon den richtigen schnipsel gefunden, der auch einwandfrei funktioniert.
Jetzt möchte ich allerdings auch das Gästebuch (Guestbook modul) auf der Profilseite anzeigen lassen.
Ich habe mir da mal das modul selber angeschaut, aber da ich nicht besonders gut mit php umgehen kann,werde ich nicht ganz schlau daraus.
Kann mir jemand sagen wie ich das Gästebuch auf die Profilseite anzeigen lassen kann und auch woher man diese codes herbekommt, da ja noch einige andere sachen angezeigt werden soll (Fotoalbum etc).
wenn ich schonmal dabei bin.
Bei dem Geburtstag hab ich noch nen minimales Problem wo ich vielleicht ein falsches Verständniss für habe.
Und zwar kann man sich ja einstellen (birthday modul!?) ob man das Geburtsjahr anzeigen lassen möchte oder nicht. da habe ich folgendes ausprobiert:
if ($account->birthdays_user_hide_year == 0){
print $account->profile_geburtstag[year];
} else {
echo "XXXX";
wie gesagt bin kein pro im php ^^
Danke im vorraus.
- Anmelden oder Registrieren um Kommentare zu schreiben

Re: wie finde ich die datenbankpfade heraus ?
am 19.12.2009 - 15:38 Uhr
Schau dir mal die Datei
gestboook.modulean. Dort findest du recht am Anfang die Funktionguestbook_menu. Über diese Funktion teilt das Modul dem Drupal-Kern mit, für welche Drupal-Pfade das Modul zuständig ist (guestbook_menuist eine Implementierung vonhook_menu). Unter anderem findest du dort ungefähr folgendes:<?php/* 1 */ $items['user/%user/guestbook'] = array(
/* 2 */ 'page callback' => 'guestbook_page',
/* 3 */ 'page arguments' => array(1),
/* 4 */ 'access callback' => 'user_access',
/* 5 */ 'access arguments' => array('access user guestbooks'),
);
?>
Das heißt übersetzt folgendes:
user/120/guestbookwird eine Seite vom guestbook-Modul bereitgestellt.guestbook_pageaufgerufen wird.guestbook_pagebekommt einen Parameter übergeben, und zwar den ersten aus dem Drupal-Pfad (n.b. in der Informatik beginnt die Zählung immer bei null). Da an dieser Stelle (%user) eine benannte Wildcard steht, wird allerdings nicht der dortige Wert selbst übergeben (120 im Beispiel), sondern das Ergebnis vonuser_load(120).user_accessaufgerufen.user_accessbekommt die Zeichenkette'access user guestbooks'als Argument übergeben.Mit diesen Informationen kannst du das Gästebuch von Benutzern in deine eigene
user_profile.tpl.phpintegrieren:<?php
// Darf der aktuelle Benutzer das Gästebuch sehen?
if (user_access('access user guestbooks'))
{
$gb_uid = arg(1); // ID des Benutzers, dessen Gästebuch angezeigt werden soll.
$gb_user = user_load($gb_uid); // Der Benutzer, dessen Gästebuch angezeigt werden soll.
print(guestbook_page($gb_user)); // Gästebuch ausgeben.
}
?>
Eine Alternative wäre einen User Override mit dem Panels-Modul. Allerdings weiß ich nicht ob das Gästebuch Panels-Unterstützung mitbringt.
--

Einwandfrei, danke dir, sehr
am 21.12.2009 - 07:47 Uhr
Einwandfrei,
danke dir, sehr gut erklärt ^^