Views Union?
am 22.07.2014 - 12:54 Uhr in
Hallo Freunde,
gibt es für D7 eine relativ einfache Möglichkeit die Ergebnisse von zwei verschiedenen Views zusammenzufügen und per Pager auszustatten?
In D5 gab es dazu ein Modul - dies ist aber weder für D6 noch für D7 verfügbar.
Ich benötige für zwei Views eine unterschiedliche Sortierung und die Ergebnisse vom zweiten Views sollen dann den sortierten Ergebnissen des ersten Views angehängt werden - dazu muss es auch einen Pager geben über den der User in den Views-Pages navigieren kann.
Wer kann da etwas zu sagen bzw. wer könnte da einen Tip geben?
Danke und Gruß
Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben

Views bietet doch die
am 22.07.2014 - 13:09 Uhr
Views bietet doch die Möglichkeit ein Attachment-Display zu erzeugen, den Du an eine andere View anhängen kannst. Dazu brauch es heute kein extra Modul mehr.
Hallo wla,wenn man ein
am 22.07.2014 - 13:18 Uhr
Hallo wla,
wenn man ein Attachment-Display verwendet, hat man aber zwei Pager - einen für den Haupt-View und einen für den Anhang.
Die Ergebnisse des Anhang müssten aber mit den Ergebnissen des Hauptviews zusammengeführt werden.
Wenn der Hauptview 200 Ergebnisse hat und der Anhang 150 dann müsste daraus ein neuer View mit 350 Ergebnissen entstehen - der natürlich auch einen einzigen Pager hat.
Hinter Views-ROW 200 müsste es dann mit Views-ROW 201 weitergehen (ab Row 201 wären das dann die Ergebnisse des zweiten Views) .....
Das geht mit Attachment nicht.
Versuche aus den zwei Views
am 22.07.2014 - 13:27 Uhr
Versuche aus den zwei Views einen zu machen indem Du mit zwei durch "Oder" verknüpften Filtergruppen arbeitest. Damit hast Du auch nur einen Pager. Bei der Sortierung mußt Du Dir dazu halt etwas einfallen lassen.
Ein Beispiel:Der erste View
am 22.07.2014 - 13:42 Uhr
Ein Beispiel:
Der erste View zeigt Restaurants aus Berlin an - als Sortierung gilt hier "Post: Date" also der neueste Eintrag ist immer oben.
Der zweite View zeigt Restaurants "im näheren Umfeld aber außerhalb Berlins an" (20 km Umfeld) - die Sortierung hier erfolgt über die Entfernung zum Stadtzentrum von Berlin (Umkreissuche Location).
Der erste View hat z.B. 100 Ergebnisse und, da pro Seite 10 Ergebnisse angezeigt werden, einen Pager mit 10 Seiten. Der zweite View (im Umkreis) hat z.B. 50 Ergebnisse und einen Pager mit 5 Seiten.
Daraus muss jetzt ein View entstehen mit 150 Ergebnissen - zuerst die Restaurants aus Berlin und - hinten dran - die Restaurants außerhalb von Berlin - der Pager dieses Views hat dann 15 Seiten.
Der User sieht also ganz am ANfang immer die neusten Restaruant-Einträge aus Berlin - aber - wenn er über den Pager auf Seite 11/12/13/14/15 navigiert, die Restaurants außerhlab Berlins - nach Entfernung sortiert.
Ein Restaurant außerhalb Berlins darf nicht an erster Stelle stehen (post: date) sondern darf immer erst ab Page 11 erscheinen (daher brauche ich da zwei verschiedene Views).
Dies kann ich mit Filtergruppen / Attachments etc. nicht umsetzen.
Wenn Du den Berliner
am 22.07.2014 - 14:02 Uhr
Wenn Du den Berliner Restaurants eine Entfernung von 0 mitgibts, geht es schon. Du sortiertst dann erst nach Entfernung und dann nach Post-Date.
Sie haben ja keine Entfernung
am 22.07.2014 - 14:17 Uhr
Sie haben ja keine Entfernung von 0 da sie nicht alle direkt im Zentrum liegen. Ich lege die Restaurants ja nicht selber an sondern die Anbieter können sich eigenständig registrieren und ihre Etablissemets eintragen (mit Adresse - die dann geocodiert wird). Es gibt keine Möglichkeit diesen Restaurants allen die selben Lat/lons zuzuteilen da es noch eine extra Umkreissuche gibt für die die korrekten geocodierten Adressen vorhanden sein müssen. Wenn ich das jetzt alles sinnlos überschreibe, funktioniert die Extra-Umkreissuche nicht mehr da dann alle Restaurants den selben Standort haben
Ich bin kein Coder aber ich muss mich wohl oder übel mit SQL-UNION auseinandersetzen - bevor der Views und Pager erstellt/gerendert wird, müssen die Datenbankeinträge, von zwei verschiedenen Sortierungen, gemergt werden ... erst danach wird der Views + Pager erstellt.
Auch wie Views das überhaupt macht, weiß ich nicht ... daher wird das ein endloses Unterfangen werden. Ich dachte es gibt was einfacheres ....
views IST die Datenbankabfrage
am 22.07.2014 - 14:42 Uhr
Du musst Views von deinem Vorhaben überzeugen.
Also Conditions (where clause) so formulieren, dass es passt.
Insofern ist Werners Vorschlag doch zumindest ziemlich nahe.
Ok - dann muss ich da nochmal
am 22.07.2014 - 15:25 Uhr
Ok - dann muss ich da nochmal drüber nachdenken.
Mal gucken ob ich da eine Logik hinbekommen.
Vielen Dank für die bisherigen Hinweise!
Wenn die von Hause nicht die
am 22.07.2014 - 22:34 Uhr
Wenn die von Hause nicht die Distanz 0 haben, könnte man über eine Rule beim Speichern überprüfen, ob es Berlin-Stadt ist und dann den Wert auf 0 setzen.
Das geht leider nicht denn es
am 22.07.2014 - 22:44 Uhr
Das geht leider nicht denn es handelt sich ja nicht nur um Dienstleister aus Berlin sondern auch aus allen anderen großen Städten (München, Hamburg, Köln etc.). Außerdem kann man, per Umkreissuche, ja auch von außerhalb Berlins/Stadt suchen, z.B. von Oranienburg/Potsdam/etc aus - wenn wenn man jetzt per Rules die Distanz verstellt, passt das alles überhaupt nicht mehr zusammen und da kommt dann nur noch Unsinn raus.
Per VIews PHP kann man ja eigene Filter erstellen - ich werde mal testen ob man darüber irgendwas hinbekommt.
Mal gucken.
Trotzdem danke erstmal.