Wie Usercontent in view filtern?
am 27.08.2014 - 11:03 Uhr in
Hallo zusammen,
in einer Drupal 7 Installation habe ich eine View "Meine Dokumente" definiert, die Nodes vom Content-Type "document" des jeweiligen Users anzeigen sollen.
Die URL der View sieht also so aus:
/dokumente/user/userid
wobei die User ID über die URL an die View übergeben wird.
So, jetzt kommt der Haken. Der Aufruf dieser URL erfolgt aus einem anderen System (ich nenne es mal ND und drupal System D). Die User ID in ND ist
nicht identisch mit der User ID in D. Drupal kennt aber die User ID von ND und hat sie in einem eigenen Profilfeld ND_userid abgespeichert.
Beispiel: der ND user Müller mit der user ID 123 ruft die obige URL auf, um seine Dokumente anzuschauen (/dokumente/user/123). User Müller hat aber
in Drupal eine andere User ID, nämlich 456. Ich müsste also jetzt irgendwie von /dokumente/user/123 auf /dokumente/user/456 weiterleiten.
Wie mache ich das den am Einfachsten. ich könnte natürlich einen Menu-Hook definieren, anhand der ND user ID die Drupal user ID ermitteln un dann per
goto weiterleiten. Aber das kommt mir sehr umständlich vor. Kann ich das nicht irgendwie in der View direkt lösen?
Oder gibt es noch eine einfachere Lösung?
Danke & Grüße
Rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Statt User-ID aus der URL, ID
am 27.08.2014 - 12:25 Uhr
Statt User-ID aus der URL, ID des angemeldeten Benutzers nehmen.
danke, aber dann habe ich es ungeschickt formuliert
am 27.08.2014 - 13:56 Uhr
Die URL
/dokumente/user/123 kann jeder aufrufen, also Müller, Meier etc. Deshalb wird das mit der ID des angemeldeten Benutzers leider nicht funktionieren.
Füge der Ansicht mal eine
am 27.08.2014 - 17:09 Uhr
Füge der Ansicht mal eine Beziehung "Inhalt: Autor" hinzu. Wenn das Feld mit der User-Id aus dem anderen System ein Feld für die Benutzer ist, dann kannst Du jetzt bereits dieses Feld als Kontextfilter/ Argument nutzen. Ist das ein Feld von Profile 2 musst Du noch eine Beziehung hinzufügen "Benutzer: Profil", hier wählst Du dann den entsprechenden Profile2-Typ aus. Dann sind auch alle Felder aus dem Profile2-Profil des Users als Argument nutzbar.