View mit Typ A Beiträgen, mit Berücksichtigung referenzierter Beiträge von Typ B
am 18.04.2018 - 10:10 Uhr in
Hallo Community,
ich habe einen komplizierten View, von dem ich nicht sicher bin, ob das überhaupt möglich ist:
Aktueller View:
- Liste aller Beiträge von Inhaltstyp A
- Typ A enthält u.a. die Field Collection F
- Field Collection F enthält u.a. das Feld Preis
- Der View hat einen hervorgehobenen Filter für das Feld Preis
Kürzlich habe ich einen weiteren Inhaltstyp B erstellt, über den eine andere Nutzergruppe auch Beiträge mit Field Collections F erstellen kann. Beiträge vom Typ B können einem Beitrag von Typ A zugeordnet werden (über Modul Entity Reference).
Mein aktueller View sollte nun angepasst werden:
- Der View sollten weiterhin nur Beiträge von Inhaltstyp A anzeigen
- Wenn nach dem Feld "Preis" gefiltert wird, sollte aber nicht nur das Feld Preis von Typ A sondern auch das Feld Preis vom referenzierten Typ B berücksichtigt werden
Beispiel:
Beitrag 1 von Typ A enthält Wert für Feld Preis = 3000 EUR
Beitrag 1 von Typ B enthält Wert für Feld Preis = 1000 EUR
Soweit so gut: Wenn im View-Filter der Bereich 0 EUR bis 3000 EUR ausgewählt ist, wird Beitrag 1 von Typ A angezeigt.
Die Schwierigkeit: Wenn im View-Filter der Bereich 0 EUR bis 1500 EUR ausgewählt ist, soll Beitrag 1 von Typ A auch angezeigt werden. Denn der dazugehörige (referenzierte) Beitrag entspricht der Auswahl.
Weiß jemand, ob das möglich ist und wenn ja, wie?
- Anmelden oder Registrieren um Kommentare zu schreiben
Hat hier vielleicht jemand
am 19.04.2018 - 09:10 Uhr
Hat hier vielleicht jemand noch eine Idee?
Welche Drupal Version ist
am 20.04.2018 - 06:58 Uhr
Welche Drupal Version ist das?
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Hallo, Version 7
am 20.04.2018 - 07:00 Uhr
Hallo, Version 7
ich komme mit diesem Problem
am 21.04.2018 - 13:26 Uhr
ich komme mit diesem Problem einfach nicht weiter. Bin über jeden Hinweis dankbar!
Also es sollen Preise in der
am 21.04.2018 - 14:52 Uhr
Also es sollen Preise in der fc angezeigt werden, die in nodetype A verwendet werden Und Preise in der fc, die in nodetype B, wenn dieser einen node vom Typ A referenziert (bzw.umgekehrt, die ref.-Richtung habe ich nicht eindeutig verstanden).
Probiere es mal so:
Als Filter in der View setzt du
- Nodes vom Nodetyp A
- oder (Filter-Gruppe)
--Und (Filter-Gruppe)
--- Nodes vom Nodetyp B
--- Field Entity reference zu Nodetyp A ist Nicht leer (NOT NULL)
damit sollte die grundsätzliche Vorauswahl der Nodes passen und der Exposed 'Preis'-Filter wählt die Nodes mit entspr. Preisen aus.
Alternativ gibt es noch das Modul https://www.drupal.org/project/views_cross_join, das könnte evtl. auch helfen, falls das oben doch nicht funktioniert
.
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de
Danke für deine Hilfe. Ich
am 23.04.2018 - 06:59 Uhr
Danke für deine Hilfe. Ich habe es so probiert, komme allerdings nicht zum gewünschten Ergebnis. Mit den vorgeschlagenen Filtereinstellungen liefert die View auch Inhalte vom Nodetyp B aus. Mein Ziel ist es aber nur Nodetyp A anzuzeigen.
Vielleicht hab ich es nicht ganz verstanden.
am 23.04.2018 - 07:41 Uhr
Wenn nach dem Feld "Preis" gefiltert wird, sollte aber nicht nur das Feld Preis von Typ A sondern auch das Feld Preis vom referenzierten Typ B berücksichtigt werden
Da willst du doch Ergebnisse von fielc-collections in Typ B, wenn dieser referenziert wird, oder nicht?
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de
Entschuldigung, das ist
am 23.04.2018 - 09:13 Uhr
Entschuldigung, das ist wahrscheinlich etwas missverständlich beschrieben. Ich versuche es nochmal:
Versteht du wie ich meine?
Ok, da finde ich es echt am
am 23.04.2018 - 09:29 Uhr
Ok, da finde ich es echt am einfachsten, mit Rules die Werte des Typs B in Typ A an ein neues Feld 'Preis von referenzierenden Nodes' zu schreiben und syncron zu halten.
Dann müsstest in der view deine Preissuche nur über die Preisfelder beider field-collection-Felder in Nodetyp A laufen lassen.
Ob das mit field-collections gut geht, bleibt zu testen.
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de
Neben dem Preisfeld habe ich
am 23.04.2018 - 11:17 Uhr
Neben dem Preisfeld habe ich noch einige andere Felder (mit Filter), die ich ebenfalls synchronisieren müsste. Aber wenn ich keine andere Lösung finde, probiere ich es so, danke.
Dann müsstest in der view deine Preissuche nur über die Preisfelder beider field-collection-Felder in Nodetyp A laufen lassen
.
Ich nutze für den Filter aktuell den Operator "ist zwischen" mit jQuery Slider. Meinst du damit, dass ich zwei Filter erstellen soll oder dass ich die beiden Preisfeld-Filter irgendwie kombinieren kann. Wie könnte ich eine solche Kombinierung machen?
In der Views filter gibt es
am 23.04.2018 - 11:54 Uhr
In der Views-Filter-Sektion gibt es unter 'global' einen Filter: Combine multiple fields together and search by them. Damit meinte ich.
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de
Ich würde gleich mit
am 23.04.2018 - 11:59 Uhr
Ich würde gleich mit bedenken, was unter D8 auch noch funktionieren wird.
Unter Drupal 7 könnte man mit Views PHP Modul arbeiten, ist aber unsauber und unter D8 nicht mehr verfügbar.
Kann man nicht eine weitere View erstellen, wo Preis von Inhaltstyp B ermittelt wird, aber mit Filter 0-1500 €.
Diese View wird mit Argument referenzierender Node aufgerufen.
Diese View wird als Feld eingebaut.
Wenn nun die Referenz von A auf B für das Argument node-id vom typ a keinen Wert zurück liefert, weil entweder keine Referenz.
Das Feld von der "Mutter"-View ist dann leer und kann verborgen werden. Dann gibt es eben keinen zweiten Preis.
Das zugehörige Modul views_field_view gibt es auch schon in Alpha für D8, hat also vermutlich Zukunft.
Rules für D8 kommt nicht so richtig in die Gänge. Fraglich, ob ich darauf setzen würde.
Ansonsten kann man natürlich immer ein Modul schreiben, welches diese Filter umsetzt.
Evt. tut man sich auch schwerer, weil die Referenz von B auf A geht, die View aber Inhalte vom Typ A aufrufen soll.
Evt. wäre die View leichter zu bauen, wenn von A auf B referenziert wird.
Ob das dann vernünftig im Inhaltstype(n) zu pflegen ist, weiß ich nicht.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de