Wie [current-user:edit-url] in Pfad umwandeln?
am 06.01.2016 - 18:16 Uhr in
Liebe Genies ;-)
Ich besitze eine auf Drupal 7.41 basierende Webseite.
Auf dieser Webseite (Kartei mit Online-Sedcards) können sich Personen registrieren und erhalten anschließend Zugriff auf Ihr Benutzerkonto, wo sie Ihre Zugandsaten ändern können.
Bisher hatten die registrierten User nachdem sie sich in Ihr Konto eingeloggt haben per Link im Menü zusätzlich die Möglichkeit auf ihre Sedcard zuzugreifen und bspw Fotos hochzuladen oder Angaben zu Ihrer Adresse etc. zu machen. Ich habe dummerweise etwas gelöscht, sodass nun dieser Link fehlt.
Ich habe schon alles mögliche versucht, aber vergeblich :-(
Ich habe herausgefunden, dass mittels [current-user:edit-url] in Mail-Vorlagen automatisch ein Link erstellt wird, der den Benutzer zu seiner persönlichen Sedcard weiterleitet und die Bearbeitung der Sedcard zulässt.
Ich habe vergeblich versucht einen Menülink zu erstellen, der dem User in seinem Benutzerkonto die Möglichkeit gibt, auf seine persönliche Sedcard zuzugreifen.
Beim Erstellen des Menülinks wird jedoch ein Pfad verlangt.
Die Angabe [current-user:edit-url] wird nicht akzeptiert :-(
Über eure Unterstützung wäre ich wirklich unglaublich dankbar.
Herzlichen Dank schon mal im Voraus!!!!
LG
Julia
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo Julia, Menu Items
am 06.01.2016 - 21:46 Uhr
Hallo Julia,
Menu Items können nur ganze URL oder Drupal-Pfade aufnehmen. Das, was Du da einbauen möchtest, ist ein Token, der zudem, wenn er durch den Pfad ersetzt wird, eine Variable beinhaltet... die URL, der durch [current-user:edit-url] entsteht, wäre so etwas wie http://www.deine-domain.de/user/123/edit, wobei "123" die User-Id des aktuellen Users ist - auch das geht nicht in Menu Items: Du kannst nur Menu Items mit einem Pfad ohne Variable/ Argument einbauen, also z.B. "user/bearbeiten".
Ich würde da ein eigenes Modul schreiben und dann selber einen Pfad festlegen, bei dessen Aufruf weitergeleitet wird... hast Du schon mal ein Modul geschrieben?
Lieber Thomas, herzlichen
am 06.01.2016 - 21:52 Uhr
Lieber Thomas,
herzlichen Dank für Deine freundliche Rückmeldung.
Ein eigenes Modul habe ich bisher leider nicht geschrieben :,(
Vielleicht hilft Dir ja das
am 06.01.2016 - 22:10 Uhr
Vielleicht hilft Dir ja das [do:me me Modul].
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Herzlichen Dank für den Tipp
am 07.01.2016 - 17:49 Uhr
Herzlichen Dank für den Tipp mit dem me-Modul.
Ich habe das installiert und ausprobiert.
Allerdings funktioniert das leider nicht oder ich mache etwas falsch :-(
Wenn ich im me-Modul als Alias [current-user:edit-url] angebe und
beim Drupalpfad: use/me und dies so abspeichern möchte, kommt immer folgende Fehlermeldung:
"Der Pfad ‚user/me‘ ist entweder ungültig oder der Zugriff wurde verweigert."
:,(
Ich habe unter
am 07.01.2016 - 18:27 Uhr
Ich habe unter admin/config/people/me nur den nachstehenden Radiobutton gewählt und sämtliche UIDs und Pfade lassen sich damit speichern, auch innerhalb eines Menus.
Den Me-Alias auf allen Pfaden verwenden, außer den aufgeführten.
Im Feld "außer den aufgeführten" habe ich nichts eingetragen.
Grüße Jenna
Herzlichen Dank, Jenna. Ich
am 07.01.2016 - 21:36 Uhr
Herzlichen Dank, Jenna.
Ich habe dies soeben ausprobiert.
Auf admin/config/people/me lässt sich auch alles problemlos abspeichern.
Aber in dem Menü in welchem ich ein Link hinzufügen möchte, kommt bei dem Pfad
/admin/structure/menu/manage/user-menu/add
wieder die oben erwähnte Fehlermeldung :,-(
Siehe Screenshots.
Vielen Dank
Ich habe in dem Feld Alias
am 08.01.2016 - 15:25 Uhr
Ich habe in dem Feld Alias "me" stehen gelassen und die eigens gebauten Links dann lediglich ersetzt mit me statt der UID.
/user/me/edit wäre dann z.B. der Link zum Userkonto.
Also dort wo sich die UID nicht speichern lässt, ersetzt bei mir "me" die "richtige" UID, also die des eingeloggten Users. Das kannst du auch gegen testen, indem du eine andere vorhandene UID im Browserpfad eingibst, dann kommt "Zugriff verweigert". Sowas solltest du auch bei "allen" eigens angelegten Pfaden unbedingt vorher testen bevor sich reale User anmelden können.
Wenn der Bezug zu dem aktuell angemeldeten Benutzer fehlt oder falsch konfiguriert ist, könnte User/38 z.B. im Browserpfad /39 eingeben und im schlimmsten Fall diese Daten des anderen Users bearbeiten können.
Die UID mit der du einen anderen User testest muß natürlich bei dir im System vorhanden sein, also einfach einen Testuser anlegen und im 2. Browser mit dem hin und her testen ob alle Zugriffe abgesichert sind.
Grüße Jenna
Herzlichen Dank nochmals
am 08.01.2016 - 19:35 Uhr
Herzlichen Dank nochmals liebe Jenna,
auf das Benutzerkonto können die User ohne Problem zugreifen.
Sie können dann per Link im Menü eine neue "Sedcard" erstellen.
Nach dem Abspeichern der neuen Sedcard, ist die Sedcard bis zur Freigabe durch den Admin nicht mehr in dem Benutzerkonto sichtbar.
Sobald diese Sedcard freigeschalten wird, bekommt der User automatisch eine Mail in der ein Link zum Bearbeiten der Sedcard angegeben ist.
Ich habe herausgefunden, dass mittels [current-user:edit-url] in Mail-Vorlagen automatisch ein Link erstellt wird, der den Benutzer zu seiner persönlichen Sedcard weiterleitet und die Bearbeitung der Sedcard zulässt.
Bisher war es so, dass nach der Freischaltung der Sedcard zudem im Benutzerkonto ein Link angezeigt wurde ("Sedcard bearbeiten") über den man Zugriff auf die Sedcard bekam.
Diesen Link habe ich Trottel irgendwie gelöscht.
Mein Problem ist folgendes:
Die Benutzer loggen sich in Ihr Benutzerkonto ein. Jedoch finden Sie dort keinen Link mehr zu Ihrer Sedcard.
Es soll ein Link bspw "Sedcard bearbeiten" in das Menü eingefügt werden mittels derer jeder Benutzer speziell zu seiner Sedcard weitergeleitet wird.
In den automatisch erzeugten Mails funktioniert das über [current-user:edit-url] aber als Link im Menü bekomme ich es einfach nicht hin.
Aktuell müssen die User sich zuerst in Ihr Benutzerkonto einloggen, dann die Mail, welche den Bearbeitunglink zur Sedcard enthält suchen und erst mit diesem Link können sie dann auf ihre Sedcard zugreifen und diese ändern.
Besser wäre es natürlich, wenn sich die User in ihr Benutzerkonto einloggen und dort auf einen Link klicken, der dann den Bearbeitungsmodus der Sedcard öffnet.
Man müsste quasi [current-user:edit-url] irgendwie in einen Link "übersetzen" aber ich bin einfach zu blöd^^
Vielen vieeeelen lieben Dank nochmals :-)
LG, Julia