View user_relationships_content funktioniert nicht
am 20.08.2010 - 13:12 Uhr in
Hallo,
ich möchte Beiträge des Netzwerks auf dem betrachteten Profil anzeigen. Ich vermute, dass man dies mit user_relationships_content realisieren könnte. Leider funktioniert es nicht aus mir unbegreiflichen Gründen. Ich habe einen Block dieser Ansicht erstellt und diesen dann auch Content Bottom gesetzt. Leider wird dieser Block nichteinmal angezeigt. In den Views Einstellungen habe ich nichts verdächtiges finden können. Weiss jemand wie ich das zum Laufen bekommen kann??
- Anmelden oder Registrieren um Kommentare zu schreiben

ääh, Du willst die Beiträge
am 20.08.2010 - 19:38 Uhr
ääh, Du willst die Beiträge eines Benutzers in einem Block in seinem User-Profil anzeigen? Dann erstell' einfach 'ne neue View vom Typ "Node" und gib' der View als Argument die User-ID aus dem Pfad
user/%uid.Nein, ich will auf dem Profil
am 20.08.2010 - 20:01 Uhr
Nein, ich will auf dem Profil alle Beiträge des Netzwerkes anzeigen, also auch Beiträge von dessen Freunde. Dazu suche ich nach einem geeigneten Modul. Das oben gennnte Modul könnte laut Beschreibung geignet sein. Leider funktioniert es mit den standart Einstellungen nicht.
Alle Beiträge des Netzwerkes
am 20.08.2010 - 20:31 Uhr
Alle Beiträge des Netzwerkes = alle Beiträge der Seite oder
Alle Beiträge des Netzwerkes = alle Beiträge seiner Freunde?
Für ersteres musst Du nur eine View vom Typ "Node" erstellen.
Für letzteres bräuchtest Du tatsächlich das Modul "User Relationships" (oder alternativ "Flag Friend" o. ä.), aber mit beiden habe ich noch nicht gearbeitet. Gibt's dazu eine Dokumentation auf drupal.org?
Achso, und wenn ein Block gar nicht erst angezeigt wird:
1) Sind die Pfad-Einstellungen richtig?
2) Sind die Zugangseinstellungen in der View-Konfiguration richtig, d. h. hast Du die notwendigen Permissions/Rollen?
3) Sind überhaupt schon Freunde hinzugefügt worden?
Also ich benutze das Modul
am 21.08.2010 - 13:21 Uhr
Also ich benutze das Modul User Relationships für diese Aktion. Eine direkte Pfadangabe in der Url erlogt erfolgreich. Für diesen View habe ich einen Block hinzugefügt, wobei es dort keine Einstellungen für den Pfad gibt. Anstelle der Seiteneinstellungen ist dort der Menuepunkt Blockeinstellungen. Dort kann man keinen Pfad eingeben. In den Permissions/Rollen sind alle hacken für dieses Modul gesetzt. Trotz dessen wird der Block nicht angezeigt.
Hast Du den diesen Block
am 21.08.2010 - 13:56 Uhr
Hast Du den diesen Block unter "Strukturierung > Blocks" einer Region zugeordnet? Sonst wird der nämlich nicht angezeigt.
Beste Grüße
Werner
Das ist schon geschehen.
am 21.08.2010 - 15:02 Uhr
Das ist schon geschehen. Ich habe allerdings festgestellt, dass bei Aktivierung der Blöcke apk_user_posts & apk_user_topics zwar entsprechende Blöcke angezeigt werden, allerdings ohne Inhalt. Obwohl Beiträge der Freunde sowie des Users selbst veröffentlicht wurden. Leider weiss ich nicht woran das liegt. Die Filtereinstellungen sind eine Kopie des Seiten Views und dort funktioniert alles bestens.
Hast Du im Seitenview
am 21.08.2010 - 15:41 Uhr
Hast Du im Seitenview Argumente verwendet? Das geht bei Blöcken nämlich nicht so einfach, da ein Block kein Argument übernehmen kann! Bei Blöcken muß man dem View sagen, was er tun soll, wenn es kein Argument gibt. Dann Standard-Argument bereitstellen und etweder kommst Du dann mit den vorgeschlagenen Möglichkeiten aus, oder Du mußt das Argument über etwas PHP-Code bereit stellen.
Beste Grüße
Werner
Daran wird es liegen. Gibt es
am 21.08.2010 - 16:24 Uhr
Daran wird es liegen. Gibt es dazu evt. eine Dokumentation oder ein Lösungskonzept. Welche Dateien muss ich denn bearbeiten. Ohne Hilfe bekomme ich das wohl nicht hin. Aber Argumente in diesem Block sind gesetzt.
Es hängt stark vom Typ der
am 21.08.2010 - 16:41 Uhr
Es hängt stark vom Typ der Argumente und der Url ab, wie das gehen kann. Hier mal 2 Möglichkeiten:
- Titel der Seite, auf der der Block steht, als Argument übergeben:
$node = node_load(arg(1));return ($node->title);
- Bei einer Seite, die als Url-Alias mannschaft/***** hat, die Sterne als Argument übergeben:
$path = drupal_get_path_alias($_GET['q']); //get alias of URL$path = explode('/', $path); //break path into an array
if ($path[0] == 'mannschaft' && $path[1] != '') {
return $path[1];
}
Ich hoffe, das hilft Dir weiter.
Beste Grüße
Werner
Welche Datei müsste denn
am 21.08.2010 - 17:36 Uhr
Welche Datei müsste denn bearbeitet werden und vor allem welche Aktionen fehlen denn genau? Also in deinem Beispiel übergibst du den Titel des Blocks und die Userid? bzw. die Argumente? Normalerweise wird einfach nur die Userid beim Pfad für den (funktionierenden) Seitenview übergeben. Soll ich nun noch weitere Argumente übergeben? Aber wie ? Und vor allem wo?
Der Pfad für den Seitenview ist user/%/associates und im View gibt es die Argumente "Anfragender Benutzer" und "Beziehungstyp". Wie soll ich denn diese Argumente übergeben. Ehrlich gesagt: Ich bin etwas überfragt.
Ich habe auch diese Variante irgendwo gelesen. Kann ich damit nicht einfach die Anzeige realisieren??
So ähnlich???
<?phpprint views_embed_view('user_relationship_content', $display_id = 'block_1',arg(2));
?>
Wie ich schon weiter oben
am 21.08.2010 - 17:36 Uhr
Wie ich schon weiter oben ausgeführt habe:
Wenn Du bei Views ein Argument angibst (oder ein bestehendes bearbeitest) gibt es die Möglichkeit anzugeben, was passieren soll, wenn kein Argument vorhanden ist (etwa bei einem Aufruf als Bock). Da klickt man an, Standard-Argument bereitstellen und dann kommen verschiedene Möglichkeiten. User-ID oder Node-ID sind, glaube ich, schon sofort anwählbar. Es geht aber auch: PHP-Code eingeben. In das folgende Textfeld gibst Du dann Deinen Code ein. Was da einzugeben ist hängt von Deinen Argumenten und dem Aufruf ab. Daher die 2 unterschiedlichen Beispiele.
Beste Grüße
Werner
Ok, klingt eigendlich
am 21.08.2010 - 18:08 Uhr
Ok, das habe ich gefunden. Und dann halt irgendwie das Argument übergeben. So wie oben beschrieben. Mal sehen...
Du hast Post Beste
am 21.08.2010 - 18:07 Uhr
Du hast Post
Beste Grüße
Werner
Das hat schon funktioniert.
am 22.08.2010 - 01:37 Uhr
Das hat schon funktioniert Vielen Dank! .Ich habe es hinbekommen. Ich habe einfach in das Feld Php Code folgendes eingegeben:
$path = drupal_get_path_alias($_GET['q']); //get alias of URL$path = explode('/', $path); //break path into an array
if ($path[0] == 'user' && $path[1] != '') {
return $path[1];
return $path[2];
}
Danke nochmals für die Hilfe !
Sorry nochmal, dass ich auf
am 22.08.2010 - 13:32 Uhr
Sorry nochmal, dass ich auf diese Wiese nachfrage. Leider habe ich mich zu früh gefreut. Ich habe festgestellt, dass nur Inhalt angezeigt wird wenn die Argumente Invalide sind, sprich ich den falschen Code eingebe. Dann werden auch nur Beiträge aus der gesamten Webseite angezeigt und nicht aus dem jeweiligen Netzwerk. Das funktioniert so also doch nicht. Wie übergebe ich den nun die Argumente???
Der Code kann so wie von Dir
am 22.08.2010 - 14:29 Uhr
Der Code kann so wie von Dir vorgegeben auch nicht funktionieren, da nach dem ersten return die Function beendet ist. Das 2. return wird nie erreicht. Die Werte für die verschiedenen Argumente müssen als Array zurückgegeben werden
return array(path[1], path[2]);Andernfalls bekommst Du keine 2 Argumente in den Blockview. Es gibt aber noch eine weitere Möglichkeit das vielleicht einfacher zu regeln. Du setzt in einem neuen Block folgenden PHP-Code:
print views_embed_view('Dein View', 'gewünschtes Display',array('arg1', 'arg2'.....));Dein View ist der name Deines Views
gewünschtes Display: entweder default oder block_1... oder page_1...., wobei Views die Displays automatisch durchnummeriert und zwar für Block und Page separat.
array('arg1', 'arg2'.....): ein Array mit den gewünschten Argumenten
Damit bekommst Du auch im Bock den View einfach mit Argumenten aufgerufen und brauchst nicht die Blockview von Views.
Beste Grüße
Werner
Ich habe vorerst den View
am 22.08.2010 - 15:20 Uhr
Ich habe vorerst den View einfach per Link eingebunden. Nun habe ich festgestellt, dass Profilinformationen nicht den jeweiligen Beitragsautoren zugeordnet, sondern dem Benutzer des Profils zugeordnet werden. Ich denke, das wird dazu führen, das ich diesen View nicht anzeigen werde, da es mir primär um die jeweiligen Informationen der Beitragsautoren geht. Leider denke ich, dass man dies wohl nicht so ohne weiteres beheben kann. Ich werden deine Vorgeschlagene Variante trotzdessen mal ausprobieren. Mal sehen ob es funktioniert.
Ich habe nun festgestellt, dass der gesamte View überhaupt nicht korrekt funktioniert. Eigendlich sollten Beiträge der Freunde aufgelistet dargestellt werden. Das Modul zeigt aber einfach nur Beiträge ziemlich willkürlich aus mir unbegreiflicher Ordnung an. Vielleicht mache ich auch etwas falsch.