Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Erstellen einer Userbar mit Piktogrammen

Eingetragen von culfin (28)
am 01.06.2009 - 13:41 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo Drupal-User,

dies ist mein erster Beitrag hier. Ich selber bin Drupal-Anfänger und möchte mein erstes Projekt umsetzen, in dem es nach dem Einloggen eine Leiste geben soll, über die die wichtigsten Funktionen mit Piktogrammen erreicht werden soll:

  • Eigenes Profil
  • Mails
  • Lesezeichen
  • Kontakte
  • Warenkorb
  • Ausloggen

Diese Leiste könnte in etwa so aussehen:

Sobald sich in den verschiedenen Bereichen etwas ändert, soll sich auch das Piktogramm ändern.
Beispiele: Eine neue PM ist eingegangen, Neuer Kommentar zu einem Lesezeichen, neue Kontktanfrage, usw.

Das könnte dann in etwa so aussehen:

Als Ansatz bin ich über folgenden Codeschnipsel für die template.php gestolpert:

<?php
function phptemplate_user_bar() {
  global
$user;     
                        
 
$output = '';

  if (!
$user->uid) {                                                         
   
$output .= drupal_get_form('user_login_block');                          
  }                                                                          
  else {                                                                     

   
$output .= theme('item_list', array(
     
l(t('Inbox'), 'messages', array('title' => t('Your Mailbox'))),
     
l(t('Friends'), 'user/'.$user->uid.'/friends/pending', array('title' => t('Your buddies'))),
     
l(t('Favourites'), 'bookmarks', array('title' => t('Your Favourites'))),
     
l(t('Your account'), 'user/'.$user->uid, array('title' => t('Edit your account'))),
     
l(t('Sign out'), 'logout')));
  }
  

 
$output = '<div id="user-bar">'.$output.'</div>';
    
  return
$output;
}
?>

Ziel wäre es jetzt die verschiedenen Stati der Module Flag, Flag Friend, Privatemsg und Ubercart abzurufen und endsprechend Piktogramm A (grau) oder Piktogramm B (farbig) anzuzeigen.

Für das Modul Privatemsg gibt es beispielsweise einen Codeschnipsel, der die Anzahl der neuen Nachrichten abfragt:

<?php
$num
= privatemsg_unread_count();
?>

Leider bin ich auch im Bereich PHP nicht so fit, das ich dies vollständig lösen könnte.
Hat jemand eine Idee, wie man das angeht?

Vielen Dank für eure Hilfe.

Gruß,

Andreas

‹ Externe Seite als Content Lassen sich Argumente per Pathauto erzeugen? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, ich würde hier

Eingetragen von dynamiser (11)
am 01.06.2009 - 15:10 Uhr

Hallo,

ich würde hier versuchen bereits vorhandene Drupalelemente zu nutzen. So könnte man eine neue Region definieren und dann ein entsprechendes Menu anlegen, welches dann per block-deinmenu.tpl.php (z.B.) anzupassen ist. Diese Menu kann dann einfach in die neue Region gesetzt werden (page.tpl.php).

Das ermöglicht es Sichtbarkeiten für dieses Menu bequem in den Blockeinstellungen zu konfigurieren ebenso kann man dann die Links im Nachhinein einfacher anpassen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, ich würde hier

Eingetragen von dynamiser (11)
am 01.06.2009 - 15:10 Uhr

Hallo,

ich würde hier versuchen bereits vorhandene Drupalelemente zu nutzen. So könnte man eine neue Region definieren und dann ein entsprechendes Menu anlegen, welches dann per block-deinmenu.tpl.php (z.B.) anzupassen ist. Diese Menu kann dann einfach in die neue Region gesetzt werden (page.tpl.php).

Das ermöglicht es Sichtbarkeiten für dieses Menu bequem in den Blockeinstellungen zu konfigurieren ebenso kann man dann die Links im Nachhinein einfacher anpassen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für Deinen Hinweis,

Eingetragen von culfin (28)
am 01.06.2009 - 15:22 Uhr

Danke für Deinen Hinweis.

Mein Problem ist eher die Status-Abfrage der diversen Module und die dazugehörige Anzeige des richtigen Icons mit entsprechendem Link.

Gruß,

Andreas

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja das kann je nach Modul

Eingetragen von dynamiser (11)
am 02.06.2009 - 07:26 Uhr

Ja das kann je nach Modul etwas schwieriger werden. Die Links zum Profil und für das Ausloggen sollten kein Problem sein, bei den anderen Sachen muss man schauen welche Funktionen das Modul besitzt. Diese Funktionen kann man dann im Template des Menu Blocks abfragen und dann das entsprechnde Icon darstellen.

Falls es keine passende Fkt. im Modul gibt, welche z.B. ausgibt ob neue Kontaktanfragen anliegen, dann kann man solche Funktionen selber schreiben. Sowas kann man dann als Funktion in die template.php des Templates setzen oder glaich als eingenes Modul implementieren und dort evt. gleich andere Helferfkt. einbinden.

Welche Module verwendest du für Kontakte, Nachrichten und Bookmarks?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo dynamiser, ja, ein

Eingetragen von culfin (28)
am 02.06.2009 - 07:39 Uhr

Hallo dynamiser,

ja, ein neues Modul würde sich hier sicherlich anbieten, nur bin ich noch nicht soweit, das ich das selber könnte.

Für Kontakte nutze ich: http://drupal.org/project/flag_friend
Für Bookmarks: http://drupal.org/project/flag
Für Nachrichten: http://drupal.org/project/privatemsg
Für den Onlineshop: http://drupal.org/project/ubercart

Hast Du eine Idee? Mein Problem ist, das ich die Ausgabe der Links als Array in dem BeispielCode schon nicht so nachvollziehen kann.

Gruß,

Andreas

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein kleines Helfermodul

Eingetragen von dynamiser (11)
am 02.06.2009 - 08:22 Uhr

Ein kleines Helfermodul anlegen ist keine große Hürde, da gibt es viele Tutorials. Diesem neuen Modul dann einfach die benötigten Funktionen implementieren.
Ich hatte kürzlich das gleiche Problem, ein Usermenü mit entsprechnder Anzeige neuer Nachrichten usw..

Es ist natürlich immer besser zuerst genau zu prüfen ob das entsprechnde Modul bereits eine Fkt. besitzt, welche die Informationen liefert, die gebraucht werden.
Bei "privatemsg" ist das z.B. der Fall, hier kann man "privatemsg_unread_count()" nutzen um die Anzahl neuer nachrichten für den momentan angemeldeten Nutzer zu erhalten.
Diese Fkt. kannst du dann einfach im Template des Menüs nutzen.
Für die anderen Module sollte man auch erstmal suchen was da schon vorhanden ist.

Wenn du es so machen willst wie in deinem Bsp. dann spielt sich alles in der template.php ab.
Die Links werden dort mit der drupal-Fkt. "theme" erzeugt. Diese erzeugt einen Itemlist also ein html List Konstrukt mit Links. Es wird dort ein Array übergeben, welches je Eintrag wieder ein Array enthält. Dieses enthält dann den Linknamen, URL und bei Bedarf ein Array mit weiteren Parametern (z.b. 'html' um html in den Links zu verwenden). Dazu einfach mal hier suchen, das wurde bestimmt schonmal besser erläutert.

Ich hoffe das hilft dir erstmal weiter.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 5 Tagen
  • Hey danke
    vor 1 Woche 5 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 1 Tag
  • In der entsprechenden View
    vor 3 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 1 Tag
  • gelöst
    vor 5 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 18 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association