[gelöst] D7 node reference mit select aus views

am 02.04.2011 - 18:30 Uhr in
hallo zusammen!
ich habe ein problem, das vielleicht dem einen oder anderen hier bereits ebenfalls untergekommen ist:
ich sitz grad an meinen ersten beiden produktiven D7-sites.
bei einer davon möchte ich ein field als node reference haben. die auswahl (entweder select oder checkboxen) bietet mir alle nodes des festgelegten typs an. ich will die aber durch einen view eingegrenzt haben.
ich hab unter den D7-tauglichen modulen bisher auch nach langem suchem nix passendes gefunden. any ideas?
ein php-feld, wo ich mir diese auswahl manuell aus einem view ziehen kann, gibt's ja auch nicht.
ich hab alles in-frage-kommende installiert, was in der hinsicht im moment so für D7 zu haben ist:
http://drupal.org/project/cck
http://drupal.org/project/viewreference
http://drupal.org/project/references
danke und lg
jd
update (25.07.2011): mittlerweile geht's: ist im reference modul eingebaut.
- Anmelden oder Registrieren um Kommentare zu schreiben
References
am 03.04.2011 - 12:29 Uhr
Hallo.
Das Modul [do:references References] ist schon richtig, jedoch ist dort die Views-Integration noch nicht eingebaut.
Siehe dazu auch: Missing views-mode for userreference and nodereference.
danke! auf die seite bin ich
am 03.04.2011 - 16:11 Uhr
danke!
auf die seite bin ich bei meiner suche nicht gestoßen.
... also abwarten und tee trinken.... ;-)
Hi! Views Support gibts ja
am 21.08.2011 - 09:01 Uhr
Hi! Views Support gibts ja jetzt (oder?) Ich möchte einen Block machen und denn in den Nodes anzeigen, der die verlinkten Verträge ausgiebt. Kenn mich mit Arguments nicht so aus... Jmd, eine Lösung?! Danke!
unimarkt schrieb Kenn mich
am 21.08.2011 - 09:08 Uhr
Kenn mich mit Arguments nicht so aus... Jmd, eine Lösung?! Danke!
Vielleicht sind die Screencasts 20 & 21 unter http://www.thoor.de/drupal/anleitungen/drupal-7-video-screencasts eine Anleitung für Dein Problem!
Eingeschränkte Auswahlliste
am 23.12.2011 - 01:23 Uhr
Hallo,
ich habe da ein ähnliches Problem, wie john_doe.
Ich habe ein Entity-Referenz-Feld (eine Auswahlliste), die auf einen Node-Type zeigt.
1) Wie reduziere ich die Auswahlmöglichkeiten auf die Nodes, die vom aktuellen Benutzer angelegt wurden?
Entity Referenz zeigt mir entweder alle Nodes des entsprechenden Typs oder garkeinen. (Ich hatte versucht, ob ich nur meine Sehe, wen alle unveröffentlicht sind).
2) Geil währe auch die Möglichkeit, eine Ergebnisliste durch einen View zu bekommen, aber Module wie View-Reference zeigen mir nur eine Liste von Views an, keine Liste, die durch einen View bereitgestellt wird.
3) Wenn es so etwas gäbe, könnte man dann nicht auch Felder von Nodes in einer Liste referenzieren?
Gibt's da Module oder Möglichkeiten, die ich übersehen habe?
In meinem Projekt geht's um Angemeldete Vereine (der Benutzer), die Mannschaften erstellen können und Spieler. Bei der Erstellung eines Spieler-Nodes, sollen beim Feld Mannschaft (für die er antritt) nur die Mannschaften zur Verfügung stehen, die der Verein selbst angelegt hat.
Vielen Dank :)
View
am 23.12.2011 - 08:42 Uhr
... Geil währe auch die Möglichkeit, eine Ergebnisliste durch einen View zu bekommen, aber Module wie View-Reference zeigen mir nur eine Liste von Views an, keine Liste, die durch einen View bereitgestellt wird.
Wähl doch mal spassenshalber einen der Views aus, speichere das Formular ab und schau dann, welche Optionen das Feld innerhalb des Node-Formulars hat.
Eine Liste der Views...
am 23.12.2011 - 11:02 Uhr
Erst mal danke für die schnelle Reaktion.
Ich habe im Formular für den Node "Spieler" ein Feld vom Typ "View Reference" angelegt und als Steuerelement "Auswahlliste" gewählt.
Unter "VIEWS THAT CAN BE REFERENCED" habe ich einen View gewählt, der eigentlich eine Liste der Mannschaften bereitstellt.
Sonst so gelassen und gespeichert.
Ganzes Menü gespeichert.
Ich würde jetzt eigentlich erwarten, dass mir dieses Feld beim Anlegen eines Spielers eine Liste der Mannschaften bereitstellt, allerdings bekomme nur eine Liste der Views, die ich beim erstellen als Rereferenzierbar ausgewählt habe.
Wähle ich einen View, habe ich später zwar eine Liste der Mannschaften bei Ansicht des Spielers, aber darum geht's mir nicht.
Ziel ist es, dem, der einen Spieler anlegt eine Dropdownliste der Mannschaften zu bieten, die er selbst angelegt hat um den Spieler einer mannschaft zuzuweisen. Aber eben dur EINER Mannschaft und nicht der Mannschaft eines anderen angemeldeten Vereins.
Oder habe ich dich da missverstanden? Mache ich was falsch?
View reference != Node reference
am 23.12.2011 - 11:09 Uhr
...Ich habe im Formular für den Node "Spieler" ein Feld vom Typ "View Reference" angelegt
Dann funktioniert alles genau richtig. [do:viewreference View Reference] gibt einem Content editor die Möglichkeit, Views (wie ganz normale Felder) in Inhalte einzufügen.
Allerdings möchtest Du wohl ein Feld vom Typ "Node reference" haben. Dafür benötigst Du [do:references References].
Ist installiert
am 23.12.2011 - 11:20 Uhr
References ist installiert, und bietet mit ja den Feldtyp View Reference.
Und es ist ja eigentlich auch logisch, das ein Feld "View Reference" eine Liste an Views bereitstellt.
Node Referenz stellt ja auch eine Liste an Nodes bereit. :)
Leider hilft es mir nicht bei meinem Problem.
Ich bräuchte eine Art Node Reference Feld, dessen Ergebnis-Liste ich beeinflussen kann, das mir also nicht alle Nodes eines Types sondern nur bestimmte Nodes (also z. B. alle Mannschaften, die vom Angemeldeten Benutzer angelegt wurden) zur Auswahl in einer Dropdown bietet. Deshalb kam ich auf einen View...
Gibt es so was?
Node reference: View
am 23.12.2011 - 11:42 Uhr
In den Feldeinstellungen des Node Reference Feldes kannst Du auch Views wählen, die die Optionen im Feld bereitstellen. Im gewählten View musst Du dann einen contextual filter anlegen, der die Ergebnisse nach dem aktuellen Benutzer filtert.
annahme: du hast content type
am 23.12.2011 - 11:46 Uhr
annahme: du hast content type A und content type B und willst von nodes vom typ A aus über node reference in einem feld eine bestimmte/beschränkte anzahl nodes vom typ B haben. (hoffe, ich hab deine frage so richtig verstanden...)
wenn du references installiert hast, kannst du in content type A ein field als node reference zu B anlegen.
damit dir ein view als basis für diese node reference angeboten wird, musst du zuerst einen view für die nodes von typ B anlegen und dort (das ist das wichtige!) ein display vom type reference angelegen.
dann erscheint in den fields eines nodes vom Typ A eine (wie auch immer) beschränkte auswahl an referenzierbaren nodes vom typ B. in deinem fall muss also dieser view nach dem angemeldeten user filtern.
hope this helps :-)
Super, das ist's, was ich gesucht habe...
am 23.12.2011 - 12:16 Uhr
Super, das ist's, was ich gesucht habe!
Vielen dank!
Kurz noch gefragt, wie ist die korrekte Syntax für die Argumente?
Ich versuche gerade die ID des aktuellen Benutzers so zu übergeben: [user:uid]
Ist das korrekt? Wo kann ich noch nachschlagen?
Argumente
am 23.12.2011 - 12:28 Uhr
...[user:uid] Ist das korrekt?
Nein, das funktioniert nicht. Bei den Einstellungen im Feld kannst Du nur feste Werte als Argument übergeben. Füge lieber zum View (Display) einen "contextual filter" hinzu, der die Liste nach dem gerade angemeldeten Benutzer filtert.
Contextual Filter
am 23.12.2011 - 12:59 Uhr
Ich hatte erst den Contextual Filter: "User: Uid" verwendet,
aber unter "When the filter value is NOT available" hatte ich "Display all results for the specified field" genommen.
An anderer Stelle auch funktionierte es auch, dass er nur die Ergebnisse des aktuellen Users anzeigt.
Allerdings scheint die Ansicht diese Infos nicht übergeben zu bekommen, deshalb wurden noch ALLE Mannschaften angezeigt.
Mit "Provide default value" und da "User ID from logged in User" funktioniert es jetzt! Klasse! :)
Super!
Vielen, vielen Dank! :)