Views: zoeken op verschillende velden tegelijkertijd

Probleemstelling

Je kunt makkelijk in een view een veldfilter zichtbaar maken. vb Straat vb Postnummer. In sommige gevallen is het praktisch als je zou kunnen tegelijkertijd op meerdere velden filteren. Straat + Postnummer is zo'n voorbeeld. Er zijn nu eenmaal veel Kerkstraten in Vlaanderen en als je ook in hetzelfde veld het postnummer zou kunnen inputten, dan wordt de filter zeer bruikbaar, met auto-aanvulling natuurlijk...

Views Entity Reference filter

Deze module kortweg VERF genoemd, stelt je in staat om een referentieveld (vb referentie naar een andere node), in een view als filter te gebruiken. eigenaardig genoeg is dit niet mogelijk zonder deze module, ook niet als je zou een relatie leggen naar de titel van de referentienode.

Een workaround is dat je een meervoudige filter gebruikt waar je dan manueel de links naar de referentienode legt, maar als er dan nieuwe nodes bijkomen, moet je dit telkens aanpassen en dit is nu niet de bedoeling. 

Twig Tweak

Deze module is een uitbreiding van de Twig Field module en stel je bijvoorbeeld in staat om in een veld in een inhoudstype een volledige view via twigs te tonen. Je zou kunnen zeggen ... dat kan EVA ook.. Inderdaad, maar hier kan je zelf bepalen per node of je een view wilt of niet en welke weergave je kiest. Ook contextuele filter meegeven zit knap ingebouwd in het systeem.

Zo ga ik hier in een veld van een node een teller inbouwen, aan de hand van een view. Kijk hoe ik de contextuele filter gebruik...

Tijdelijke velden

Soms is het wenselijk om gedurende een bepaalde periode specifieke inhoud te tonen. Zoals hieronder een melding van nieuwe inhoud, gedurende de eerste 7 dagen na het aanmaken van nieuwe inhoud.

Eerst maken we een view aan. Met views kunnen we namelijk datumvoorwaarden instellen. Ik geef je eerst een algemeen overzicht.

Doodle workaround

Een ex-cursist vroeg me onlangs of er geen Doodle like modules bestaan in Drupal. Dit bleek niet het geval. Ooit moet er in Drupal 7 iets bestaan hebben (Make meeting Scheduler) maar toen al werd deze module niet onderhouden.

We moeten dus zelf aan de slag..

Eerst is er een inhoudstype dat de vergadering of activiteit zal bevatten, met natuurlijk de verschillende mogelijke data en een lijst met mogelijke deelnemers. Deze deelnemers zijn heb ik gelinkt aan ingelogde gebruikers. Logisch.

Voorwaardelijke links

Drupal is sterk in referenties... taxonomie, gebruikers, inhoudsreferenties....  In een inhoudstype kan je makkelijk via een referentieveld naar andere inhoud verwijzen.

Zo kan je bij het inhoudstype films opsommen wie de acteurs/actrices waren. Je kan dan deze verwijzing als label of als link weergeven. Alle acteurs worden dan met of zonder link weergegeven. Je moet één van de twee opties kiezen.

Maar wat als je bij een acteur (nog) niet echt iets te vertellen hebt. Dan klikken de mensen op de acteur en komen via de link op ... niets bruikbaars terecht, enkel de naam.

Aantal items in een view

Hoe zet je het aantal items in een view, zonder te programmeren? Een voorbeeld. Hier zie je een (accordeon) voorstelling van de cast en crew van een film. Het aantal items staat reeds als nummer bij de taak die de personen hadden.

Maak een view (met aggregatie) van het veld dat moet geteld worden. Voeg dit veld 2X toe. Eerst om te groeperen en daarna om te tellen. Zet de aggregatiefunctie aan.

Views Table Rowspan

Een knappe module die het groeperen in een view overzichtelijk maakt.

Als je in een view groepeert in een tabelweergave dan krijg je zo iets... Ik heb een view gemaakt van alle inhoud, gegroepeerd op het inhoudstype. Het groeperen, breekt de tabelstructuur.

Als je deze module gebruikt en goed instelt, dan krijg je dit:

Views Birthday

Deze module zorgt voor een nieuwe views filter en een nieuwe weergave van een datumveld. Het werd gemaakt om de komende verjaardagen van gebruikers te tonen in een view. Handig, zeker als je weet dat de module ook werkt voor elk datumveld in een inhoudstype.

Deze view toont alle verjaardagen van de gebruikers die komen in de eerste 30 dagen.

Bij de filters krijg je een mogelijkheid bij:

Horizontal Slide Out Menu

Een module die een view genereert van een geselecteerd inhoudstype met een afbeeldingsveld. Het afbeeldingsveld kan meerdere afbeeldingen bevatten. Er wordt gefilterd op een taxonomieveld. Per term wordt er een menulink aangemaakt, samen met een algemeen overzicht. Nodes die met meerdere termen getagd zijn, komen in elk van de menulinks voor.

De afbeeldingen worden met hun alt getoond en linken naar een node of naar een colorbox voorstelling. Tevens kan je de kleur van de menubalk via een kleurveldje kiezen.