Sortierung nach Gewichtung eines Taxonomy-Begriffs in einem View
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 05.06.2015 - 10:56 Uhr in
Hallo,
wie der Titel schon sagt, geht es um die Sortierung nach Gewichtung eines Taxonomy-Begriffs in einem View. Ich habe dazu schon einiges zusammengesucht hier und an anderen Stellen. In all den Hinweisen wie z.B. in diesen hier
http://www.drupalcenter.de/node/49122
http://www.drupalcenter.de/node/49346
http://www.drupalcenter.de/node/42720
http://www.drupalcenter.de/node/51415
http://www.drupalcenter.de/node/39096
war meistens ein Punkt, den die Suchenden (ich auch zu Beginn) nicht gemacht hatten, nämlich das Hinzufügen einer Beziehung "Inhalt: Taxonomy terms on node". Durch all die Beiträge müsste ich es inzwischen so haben, wie es sein soll, doch leider scheint etwas nicht zu stimmen...
Worum es im Groben geht: eine Seite zu einer Software. Die Software hat diverse Programmbereiche (Kontaktverwaltung, Rechnungsverwlatung usw.). Es soll eine Screenshot-Galerie erstellt werden, die die Screenshots je Programmbereich gruppiert und in einer Colorbox / einer Field-Slideshow anzeigt.
Was ich soweit habe:
- Taxonomie-Vokabular "Programmbereiche" mit den erwähnten Programmbereichem die in der gewünschten Reihenfolge sind
- Inhaltstyp "Screenshots Slideshow"
- Über das Feld "Screenshot Kategorie" soll die Zuordnung der Programmbereiche erfolgen. Vokabular ist zugeordnet
- Es gibt mehrere Inhalte, die dem jeweiligen Programmbereich zugeordnet sind. Hier ein Beispiel
- Ein View ist angelegt, der die felder ausgibt, wobeim nur das letzte Feld sichtbar ist, weil ich das Ergebnis überschreibe. Es macht aber keinen Unterschied, ob ich das ergebnis überschreibe oder nicht und auch nicht wenn ich einfach den kompletten Inhalt ausgebe statt Feldern. So sieht der View aus
- Falls relevant, so sieht das Feld "Inhalt: Alle Taxonomiebegriffe" aus
- Die Beziehung sieht so aus
- Hier das Sortierkriterium
- Und zu guter Letzt das Ergebnis, das nicht passt
So müsste es doch passen, oder übersehe ich etwas?
In einigen Beiträgen war noch die Rede von den "Contextual fitlers", wobei ich mir nicht sicher bin, ob es für meinen Zweck relevant ist. Habe zumindest keinen Sinn erkannt und einfach ein paar davon "blind" ausprobiert - ohne Erfolg.
Bei Versuch das Problem zu lösen, habe ich festgestellt, dass wenn ich bei der Beziehung die Option "Beziehung ist erforderlich" aktiviere, der View gar keine Ergebnisse mehr liefert. Das wundert mich und heißt doch, dass die Inhalte mit den Taxonomie-Begriffen letzendlich doch nichts am Hut haben, oder? Aber wie kan das sein, wenn man sich die einzelnen Schritte oben anschaut?
Hoffe ihr habt ein paar Ideen.
Anhang | Größe |
---|---|
01_taxonomy_vocabulary.png | 238.29 KB |
02_content_type.png | 291.66 KB |
03_content_type_field_vocabulary.png | 94.89 KB |
04_content_sample.png | 114.29 KB |
05_view.png | 247.97 KB |
06_view_field_all_taxonomy_terms.png | 27.22 KB |
07_view_relationship.png | 26.33 KB |
08_sorting_criteria.png | 14.62 KB |
09_view_results.png | 130.11 KB |
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo, ich sehe in Deinem
am 05.06.2015 - 15:32 Uhr
Hallo,
ich sehe in Deinem Inhaltstyp "Screenshots Slideshow" keine Referenz auf die Taxonomie Terms "Programmereiche".
Dort ist nur ein Textfeld Programmbereich Link?
Ich denke Du musst in Deinem Inhaltstyp auch diese Referenz machen, damit das funktioniert.
MfG
Robert
Hallo,es ist das Feld
am 05.06.2015 - 15:37 Uhr
Hallo Robert,
es ist das Feld "Screenshot Kategorie" (Punkt 3). Der Name sollte nicht entscheidend sein, oder doch?
Ich verstehe es nicht... Für
am 06.06.2015 - 09:05 Uhr
Ich verstehe es nicht... Für den View scheint die Beziehung zwischen den Inhalten und den Taxonomie-Begriffen nicht zu existieren.
Ob ich, wie schon erwähnt, die Option "Beziehung ist erforderlich" aktiviere oder z.B. als Filterkriterium "Inhalt: Hat einen Taxonomiebegriff (= Kontaktverwaltung)" oder auch "Inhalt: Hat einen Taxonomiebegriff (nicht leer)" hinzufüge, liefern der View keine Daten mehr.
Habe angefangen zu suchen, ob es vorkommen kann, dass in der Datenbank etwas nicht passt, aber die bisher gefundenen Hinweise, wie es in der Datenbank aussehen müsste, scheinen auch auf meine Datenbank zuzutreffen:
So sieht es in "taxonomy_term_data" aus:
![](http://www.drupalcenter.de/files/01_taxonomy_term_data.png)
Das wären die Nodes:
![](http://www.drupalcenter.de/files/02_node.png)
Und das soll dann die eigentliche Zuordnung sein (field_data_field_screenshot_kategorie):
![](http://www.drupalcenter.de/files/03_field_data_field_screenshot_kategorie.png)
Sollte also passen, oder?
Hi, ich sehe in Deiner View
am 06.06.2015 - 10:36 Uhr
Hi,
ich sehe in Deiner View bei Felder: "Alle Taxonomie Begriffe"
Hast Du dort mehrere Taxonomie Begriffe.
Kannst Du bei Felder mal die Gewichtung des Taxonomie Begriffs Programmbereiche hinzufügen?
Dann sollte diese jedenfalls ausgegeben werden.
Ansonsten würde ich es mal mit diesem Modul Probieren:
https://www.drupal.org/project/term_reference_sortable
LG
Hallo, wie das Feld "Inhalt:
am 06.06.2015 - 11:11 Uhr
Hallo,
wie das Feld "Inhalt: Alle Taxonomie Begriffe" eingestellt ist, siehst Du im Schritt 6 des ersten Beitrags. Habe es nur auf ein Vokabular beschränkt (das aus Punkt 1).
Habe jetzt wie vorgeschalgen das Feld "(Programmbereiche) Taxonomie-Begriff: Gewichtung" hinzugefügt und überall steht 0. Also ein weiteres Indiz, dass die Beziehung irgendwie doch nicht da ist oder fehlerhaft, so dass sie vom View nicht erkannt wird.
Sieht aus dass es daran
am 06.06.2015 - 11:56 Uhr
Sieht aus dass es daran liegt, dass ich die einzelnen Inhalte nicht veröffentlicht habe. Das war Absicht, weil ich nicht wollte, dass sie separat erreichbar sind und eingenständige Seite generieren, allerdings scheint genau das das Problem zu sein. Sobald ich sie veröffentliche, stimmt die angezeigte Gewichtung und die Sortierung und auch wenn bei der Beziehung sage "Beziehung ist erforderlich", gibt der View dennoch die Inhalte aus.
Die Beziehung zwischen den Inahlten und dan taxonomie-Begriffen wird in einem View also nur dann erkannt, wenn die Inhalte veröffentlicht sind. Was für mich allerfings wie ein Fehler aussieht.
Query
am 06.06.2015 - 12:49 Uhr
moin.
Lass Dir mal die Datenbankabfrage in der Views-Vorschau ausgeben (erweiterte Einstellungen). Dann siehst Du genau, wie Views die Daten abfragt, und warum nicht veröffentlichte Nodes die Sortierung "kaputt machen".
Wenn Du nicht möchtest, dass Inhalte bestimmter Typen nicht von normalen Benutzern aufgerufen werden können, schau Dir mal das Modul [do:rabbit_hole Rabbit Hole] an; damit lässt sich das ziemlich unkompliziert einrichten.
Danke, werde ich mir mal
am 06.06.2015 - 13:39 Uhr
Danke, werde ich mir mal anschauen. Wäre vielleicht eine Abhilfe.
Zur eigentlichen Problematik habe ich inzwischen auf drupal.org einige Beiträge gefunden, wie z.B. deisen hier: https://www.drupal.org/node/962664
Läuft wohl auf die Tabelle "taxonomy_index" hinaus, die nur für veröffentlichte Inhalte gefüllt wird. Views greifen auch darauf zu (manche sagen fälschlicherweise, weil sie eigenltich nicht dafür gefacht ist). Dadurch, dass Views nun zum Kern gehört, steht der Eintrag immerhin nicht wie einige anderen auf "Works as designed", sondern auf "Needs work", allerdings ist der schon seit Ewigkeiten offen und der letzte Beitrag war vor einem Jahr, so dass ein Fix nicht besonders wahrscheinlich zu sein scheint.
Dieses Modul soll es angbelich "fixen" / umgehen, klappte bei mir aber nicht: https://www.drupal.org/project/taxonomy_entity_index