Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

[gelöst] View nach Level des Vokabulars sortieren

Eingetragen von Steffen_ (8)
am 23.01.2012 - 14:15 Uhr in
  • Views
  • Drupal 7.x

Hallo liebes Forum und vielen Dank für das ganze Engagement!

Ich habe auch gleich eine Frage, normalerweise ist es nicht so meine Art diese Form der Hilfe in Anspruch nehmen zu müssen und so habe ich schon recht gründlich gesaucht und keine Lösung für mein Problem gefunden.

Dabei handelt es sich um folgendes:
Ich möchte eine Gallerie erstellen die aus Views bestehen soll und gegliedert ist. Dabei möchte ich für jede Stufe der biologischen Taxa

Tiere
-Säugetiere
--Nager
---...
--Beuteltiere
---...
--...
-Gliederfüßer
--Insekten
--Spinnentiere

eine eigene Seite anlegen, in der der View für diese Stufe angezeigt wird. Ich verwende Bilder (Content-Type = 'Bilder') mit mehreren taxonomischen Werten eines Vokabulars ('Bilder_vokab')
Diese Views Zeigen auf der linken Seite ein Bild und auf der rechten Seite Text, der die Stufe beschreibt. Der Text enthält zwei Links. Der erste Link führt zur Gallerie der darunterliegeneden zweiten Stufe (Säugetiere), der zweite Link führt zur Gallerie der wiederum darunterliegenden dritten Stufe (Nager oder Beuteltiere).
Da es nun mehr als eine Gruppe der Stufe n+1.Ordnung gibt, möchte ich alle Elemente dieser Gruppe mit einer Slideshow im View der Tiere durchsliden lassen.

Soweit kein Problem, ich erstelle eine Node (Conten-Type = 'Beschreibung' != 'Bild'), die das Bild und den Text enthält, definiere ein zweites Vokabular ('Beschreibung_vokab' = 'Bilder_vokab') mit und selektiere zwei Häckchen in dieser (Tiere(1) und Säugetiere(2) oder Gliederfüßer(2)) und selektiere is all of: Stufe 1 (Tiere) und is one of: Stufe 2 (Säugetiere and Beuteltiere) im View.

In den Nodes (CT: 'Beschreibung') habe ich die URL zu einem Bild eingetragen, damit ist dieses Bild immer das selbe. Ich möchte allerdings, dass das Bild der Gallerie immer das neueste Bild der taxonomischen Stufe ist. Wenn ich also ein neues Bild zu den Tieren -> Säugetieren hinzufüge, möchte ich, dass dieses Bild sowohl auf der Stufe der Tiere als neuestes Bild ausgewählt wird, als auch auf der Stufe der Säugetiere, allerdings nicht auf der Stufe der Gliederfüßer.

Vielen Dank fürs Lesen und vielleicht kann mir ja jemand weiterhelfen.

‹ GoogleMaps und Views Newsübersicht mit Views erstellen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Was ich bisher ausprobiert

Eingetragen von Steffen_ (8)
am 23.01.2012 - 14:15 Uhr

Was ich bisher ausprobiert habe:

1) View erstellen und neuestes Bild und Text zu diesem Bild zusammenfügen, diesen View mit dem anderen View als Feld in ein anderen View einfügen und eine Slideshow anwenden -> Slideshow auf Views in Feldern tun nicht.

2) Die Texte einer Stufe in einem View als Slideshow zusammenfügen, die Bilder in einem View als Slideshow zusammenfügen und beides wieder als View in ein anderen View einfügen -> Hier stellt sich das Problem, dass ich im View der Bilder nicht richtig sortieren kann, da jedes Bild mehrere Taxonomie-Einträge hat und damit jedes Bild so oft dargestellt wird, wie es die Anzahl Taxonomie-Einträge hat und damit ein sortieren nach einem bestimmten Level des Vokabulars nicht möglich ist.

Eine Idee die ich hatte, allerdings nicht umsetzen kann (da ich blutiger Anfänger in PHP bin) ist die, dass man mit einem PHP-Schnipsel und der $_GET['q']-Variable rausfindet, welche Node für einen Vokabular-Eintrag die neueste ist und so direkt in die Node (CT: 'Beschreibung') einfügt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein Beispiel kann man hier

Eingetragen von Steffen_ (8)
am 23.01.2012 - 14:17 Uhr

Ein Beispiel kann man hier sehen: http://www.ehrmann-photography.de/?q=de/gallerie

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, also ich habe die Aufgabe

Eingetragen von Steffen_ (8)
am 24.01.2012 - 00:46 Uhr

Ok, also ich habe die Aufgabe gelöst. Der View für das neueste Bild aller Taxonomie-Einträge eines bestimmten Vokabulars wird folgendermaßen durchgeführt:
1) View mit Slideshow als Format Fields als Show.
2) Relationship mit 'Taxonomy term: Representative node' mit Optionen 'Representative sort criteria' auf 'Content: Post date' und 'Representative sort order' auf descending. Hier wird bei den im folgenden definierten Feldern nur die neueste Node dargestellt
3) Als Feld wird ein 'Content: Bild' mit 'Relationship' auf 'Representative node' ausgewählt. Wird das Feld nach Erstellung der Relationship erstellt, kann man das Feld lediglich mit dieser Relationship auswählen, ansonsten muss man dies nachträglich umstellen
4) Der Filter wird ein bisschen komplizierter:
4.1) Es wird eine zweite Filter-Gruppe erstellt, der Operator in der ersten Gruppe ist 'And', der Operator in der zweiten Gruppe ist 'Or' und der Operator zwischen den Gruppen wird auf 'And' gesetzt.
4.2) Als Filter wähle ich 'Taxonomy vocabulary: Machine name = Bilder' And '(Representative node) Content: Published or admin' in der ersten Gruppe und 'Taxonomy term: Name (translated) contains Gliederfüßer' Or 'Taxonomy term: Name (translated) contains Säugetiere' in der zweiten Gruppe. Es werden alle Taxonomie-Einträge des Vokabulars 'Bilder' angezeigt und jeweils die neueste Node angezeigt, die mit dem jeweiligen Taxonomie-Eintrag versehen ist angezeigt. in der zweiten Gruppe wird nach den Einträgen mit den gewünschten Taxonomie-Einträgen gefilter
5) Pager auf 'Display all items' falls er da nicht schon stand.

Der SQL-Querry sieht folgendermaßen aus:

SELECT node_taxonomy_term_data.nid AS node_taxonomy_term_data_nid, 'node' AS field_data_field_bild_node_entity_type
FROM
{taxonomy_term_data} taxonomy_term_data
LEFT JOIN {node} node_taxonomy_term_data ON (SELECT nodeINNER.nid AS nidINNER
FROM
{node} nodeINNER
LEFT JOIN {taxonomy_index} taxonomy_indexINNER ON nodeINNER.nid = taxonomy_indexINNER.nid
LEFT JOIN {taxonomy_term_data} taxonomy_term_data_nodeINNER ON taxonomy_indexINNER.tid = taxonomy_term_data_nodeINNER.tid
WHERE (( (taxonomy_term_data_nodeINNER.tid = taxonomy_term_data.tid ) ))
ORDER BY nodeINNER.created DESC
LIMIT 1 OFFSET 0) = node_taxonomy_term_data.nid
LEFT JOIN {taxonomy_vocabulary} taxonomy_vocabulary ON taxonomy_term_data.vid = taxonomy_vocabulary.vid
WHERE (( (taxonomy_vocabulary.machine_name IN  ('bilder')) AND (node_taxonomy_term_data.status = 1 OR (node_taxonomy_term_data.uid = 25 AND 25 <> 0 AND 1 = 1) OR 1 = 1) )AND( (taxonomy_term_data.name ILIKE '%Gliederfüßer%') OR (taxonomy_term_data.name ILIKE '%Säugetiere%') ))

Ich hoffe ich kann damit jemandem helfen. Mir hat es auf jeden Fall geholfen mich mit den Relationships auseinander zu setzen, das wird meine Views-Anwendungen sicher sehr bereichern. Meiner Meinung nach wird das Thema allerdings noch nicht genug in der Community thematisiert!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 3 Tagen
  • Hey danke
    vor 2 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 6 Tagen
  • In der entsprechenden View
    vor 3 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 6 Tagen
  • gelöst
    vor 6 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20456

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 22 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association