Anzeigen von unterschiedlichen Views pro Seite
am 06.09.2016 - 15:06 Uhr in
Hallo Zusammen,
ich habe gerade eine Drupal-Site übernommen und brauche Hilfe. Mit den Grundstrukturen komme ich klar, aber bei Blöcken und Views laufe ich gegen die Wand.
Was ich bisher gemacht habe:
Auf der Site werden verschiedene Themengebiete behandelt zu denen es Referenzen geben soll. Ich habe daher ...
- den Content-Typ Referenzen mit den Feldern Name (
text
), Foto (image
), Referenztext (long text
), Themengebiet (text
) angelegt und Content-Items zu jedem Themengebiet erstellt - Anschließend habe ich pro Themengebiet einen View als Block erstellt mit (Filter=Themengebiet)
- in den Blocks habe ich Nur Anzeigen auf Seite "Themengebiet1,2,3.usw." ausgewählt
Mir scheint das extrem unkomfortabel und jenseits von einer überschaubaren Seitenanzahl wird das auch nicht funktionieren.
Kann mir jemand sagen, wie man das eleganter hinbekommt? In meinem Drupal-Verständnis wäre es eigentlch so:
- Es gibt nur einen Block Referenzenblock und dieser definiert die Position in einer Drupal-Region des html-Gerüstes
- Es gibt nur einen View Referenzenviewder den Content vom Typ Referenzen aus der Datenbank in diesem Block darstellt
- Die Auswahl des auf einer Seite darzustellenden Contents kann ich per Parameter (Menu, Seitentitel, Themengebiet, o.ä.) im View festlegen
Aber... Wie geht das? Ich hab' die Doku, das Forum und Google befragt, bin aber nicht weitergekommen. Falls es irgendwo steht, bin ich betriebsblind :-)
Vielen Dank schon mal vorab!
- Anmelden oder Registrieren um Kommentare zu schreiben
im Prinzip bist du auf dem richtigen Weg
am 06.09.2016 - 18:19 Uhr
du musst dir nur klar machen, dass eine View eine Datenbankabfrage ist.
Mit Filtern und Parametern kannst du diese beeinflussen, bzw. steuern welche Records gelesen, und dann auch dargestellt werden sollen.
Befasse dich intensiv mit Views, das kann ein paar Tage dauern, dann wirst du sehen, dass es nicht so schwer ist.
Ich nehme mal an, dass Referenzen ein von dir erzeugter Inhaltstyp ist, und mit entity_references nichts zu tun hat.
Grüße
Ronald
Danke, Ronald, aber das wußte
am 07.09.2016 - 10:54 Uhr
Danke, Ronald, aber das wußte ich schon, PAC ist mir durchaus geläufig :-)
Was mir fehlt ist das konkrete Vorgehen für die Implementierung. Falls Du da eine passende Doku-Stelle für mich hast, wäre das super.
Ja, das hast Du richtig verstandne. Das ist ein von mir angelegter Contenttyp und hat mit entity_reference nichts zu tun.
Ein Block ist ein eigenes
am 07.09.2016 - 11:48 Uhr
Ein Block ist ein eigenes Display Element und hat Einschränkungen. Ein Block hat keine eigene URL. Wenn man in Views mit Kontextfiltern arbeitet, damit man eben nicht für jeden Wert eine eigene View benötigt, werden diese "Parameter" aus der URL bezogen, die ein Bock aber nicht hat. Dazu gibt es in Views bei der Konfiguration eines Kontextfilters extra den Bereich "Was tun, wenn der Filter nicht vorhanden ist?" (also etwa bei einem Block). Dort gibst Du an "Standart Argument bereit stellen" und siehst danach einige Möglichkeiten, wie die Node ID aus der URL also von der Seite, auf der sich der Block gerade befindet etc. Im Notfall muß man auf PHP-Code ausweichen, um sich die benötigten Kontextfilter zu beschaffen. Dazu kann man etwa die Node-ID bei einer Node-Seite ermitteln, den Node laden und daraus den Wert, den man für den jeweiligen Filter benötigt ermitteln. Das ist manchmal etwas Bastelarbeit :-).
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Themengebiet: Taxonomie-Referenz statt Text
am 07.09.2016 - 20:51 Uhr
Aus Deiner Beschreibung wird mir nicht ganz klar, was genau Du tun willst. Ich unterstelle mal, dass Du
1) verschiedene Themengebiete hast, die Du auf jeweils einer Seite darstellen möchtest, und
2) auf jeder Themenseite die passenden Referenzen-Nodes (und nur die) in einem Block erscheinen sollen.
Wenn das so stimmt, empfehle ich folgende Konstruktion:
a) Taxonomie: Themengebiete
b) Inhaltstyp Referenzen:
c) View mit
Soltest Du statt einer Themengebietsseite einen Block auf einer sonstigen Seite darstellen wollen, müsstest Du den Vorgabewert bereitstellen (s. wla) mit: Taxonomiebegriff ID aus der URL.