[Gelöst] Variable für usernummer
am 29.01.2009 - 17:15 Uhr in
Hi!
Ich konnte weder in der Forensuche, noch im Web einen Hinweis finden, wie ich eine usernummer im Drupal-Kontext durch eine Variable ersetzen kann.
Speziell geht es um das Modul signups. Ich möchte im Menü "Primary Links" einen Link hinterlegen, der die aktuellen signups des Benutzers ausgibt.
Meine eigenen signups erhalte ich mit dem Link "users/1/signups". Aber dieser Link würde ja für jeden beliebigen User nur MEINE signups anzeigen. Wie muss der link aussehen, damit der aktuelle User SEINE signups anzeigen kann?
Habs auch schon mit den vorgefertigten links in den "Views" versucht, aber z.B. der Link "user/%/signups" funktioniert nicht.
Ich hoffe, das ist verständlich.
Danke für die Hilfe!
Gruß, XQ
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi, ich wollte immer schon
am 29.01.2009 - 22:21 Uhr
Hi,
ich wollte immer schon mal wissen ob Drupal das kann oder nicht. Über das Theming so einen Link ein zu bauen ist leicht, aber geht das intern?
Soweit ich es nun nachgeschaut habe, gibt es keine Lösung für Tokens im Menü, außer einem verstaubten Modul. http://drupal.org/project/menu_token
Von daher gehe ich mal davon aus, das Drupal das so nicht kann.
Wenn ich mir nun direkt signup anschaue, dann wird über hook_menu kein Pfad an /user/ gebunden. Das geschieht über den Standard View, den Singup einbindet.
Da steht nun im Source "// Signup schedule at user/N/signups and the "Current signups" block." Damit sieht man die Singups wie du schon schreibst zu einer UID, die man aber setzen müsste.
Was ich allerdings nicht verstehe ist, warum man nicht auf den aktiven User Filtert? Das kann Views doch schon und würde das Problem dann doch völlig ohne die UID lösen.
Hast du mal geschaut ob du einen eigenen View bauen kannst, der dann immer am aktiven User hängt ohne ein ARgument?
---
Viele Grüße,
Kars-T
Viele Grüße,
Kars-T
signup view
am 30.01.2009 - 08:47 Uhr
Moin!
Mit der aktuellen Version von signup ist das ganz einfach machbar.
Du erstellst Dir einen neuen View in dem Du beispielsweise die Titel der Nodes anzeigst. Als Filter setzt Du dann "Signup: User: Current User" und in dessen Einstellungen "Is the logged in user: True".
Schon hast Du einen View, der jedem Nutzer eine Liste der Nodes anzeigt, für die er sich angemeldet hat.
hth,
Stefan
PS: getestet mit signup
6.x-1.0-rc3
und views6.x-2.2
.Tipp: Beachte die Verhaltensregeln des DrupalCenter.
http://drupal.org/project/me
am 31.01.2009 - 10:22 Uhr
http://drupal.org/project/me könnte auch eine Alternative sein, die Views erspart...
me?
am 31.01.2009 - 10:59 Uhr
Moin!
http://drupal.org/project/me könnte auch eine Alternative sein, die Views erspart...
Damit bekommt man jedoch definitiv nicht das Listing der signups für einen Nutzer.
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hm... ich weiss nicht, ob
am 31.01.2009 - 11:00 Uhr
Hm... ich weiss nicht, ob das me Modul auch die signups erkennt. Ich werds mal ausprobieren.
Mit den views hat es jedenfalls geklappt. Hab die Titel der signups ausgeben lassen und dann nach user gefiltert. Vielen Dank!
Was mich etwas wundert, ist dass der View, der von Signups selbständig angelegt wurde nicht funktioniert. Dort lautet der Link nämlich: Pfad: user/%/signups/current
Mysterien über Mysterien....
Viele Grüße,
XQ
view
am 31.01.2009 - 12:24 Uhr
Moin!
Hm... ich weiss nicht, ob das me Modul auch die signups erkennt.
Nein, tut es nicht.
Was mich etwas wundert, ist dass der View, der von Signups selbständig angelegt wurde nicht funktioniert. Dort lautet der Link nämlich: Pfad: user/%/signups/current
Ja, das ist auch richtig so.
So kannst Du einen Link bauen, der beispielsweise user/4/signups/current lautut, um die Signups des Nutzers mit der Id 4 zu bekommen.
Um die Signups des aktuelle angemeldeten Nutzers aufzulisten, musst Du meine Variante verwenden. Derek hatte das extra so gebaut (also keinen vorgefertigten View), da man sich den View mit Standardmitteln selbst schnell zusammenbauen kann.
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Cool! Macht Sinn! Danke :-)
am 31.01.2009 - 12:54 Uhr
Cool! Macht Sinn!
Danke :-)