User registratie op leeftijd kunnen filteren

In user registratie heb ik een veld leeftijd aangemaakt met getal (integer). Nou wil ik graag dat andere ingelogde users elkaar kunnen filteren op leeftijd om zo de geschikte partner te kunnen vinden. Bijvoorbeeld gebruikers tussen 20-35 jaar 35-50 jaar 50- 65 jaar en 65+
Ik werk met Drupal core 8.9.7 en samen met de Search API module die op (default content index) op gebruiker staat aangevinkt.
Waarschijnlijk zit de truc in views maar ik weet niet hoe.
Graag zou ik hierbij wat hulp kunnen gebruiken. Groet, Roy

Drupalversie: 
8.x
Auteur: 
gomes
Door gomes op 8 januari, 2021 - 14:47

Het is me inmiddels gelukt om users te kunnen filteren op leeftijd in views onder Filtercriteria
Search: Zoeken in volledige tekst (and )Gebruiker datasource: Leeftijd (gegroepeerd). Wou je ook de Search api eens proberen bekijk dan eens de video van Webinar: How to Build Custom Search Pages in Drupal 8 https://www.youtube.com/watch?v=dj4gtbc4LyY
Hoop dat iemand hier iets an heeft.
Vriendelijke groet,
Gomes

afbeelding van jo.w
Door jo.w op 9 januari, 2021 - 01:11

Helemaal los van de vraag hoe je gaat filteren: elk jaar worden de users een jaar ouder. Users die een jaar (of meer jaren) later aansluiten zijn dus jonger dan die eerder aangemelde users. Ik zou op z'n minst met een jaartal werken, wat je dan nog altijd kan omzetten naar een leeftijd. En nog beter zou zijn met een geboortedatum (waar je het jaar kan uitfilteren achteraf.

Jo

Door gomes op 11 januari, 2021 - 14:32

Dank je wel voor de tip.

Door gomes op 12 januari, 2021 - 18:41

Vandaag het datum veld gebruikt om de leeftijd aan te geven. voorbeeld 1-4-1989. Het probleem is nu dat ik niet meer kan filteren op leeftijd 18-30 30-45 ik heb verschillende date formats geprobeerd maar ik kom er niet uit.
Heb al gezocht op drupal.org maar kan niets vinden. Ik hoop dat iemand voor mij de oplossing weet. alvast bedankt voor het meedenken. Vriendelijke groet, Roy

afbeelding van Niek Kloots
Door Niek Kloots op 12 januari, 2021 - 19:25

Heb je ook al iets als 2021/12/01 geprobeerd?

Door gomes op 12 januari, 2021 - 21:06

Ja deze format heb ik ook geprobeerd

afbeelding van Niek Kloots
Door Niek Kloots op 12 januari, 2021 - 19:49
Door gomes op 12 januari, 2021 - 21:08

Dank Niek zal er morgen naar gaan kijken. Alvast super bedankt voor het mee denken.

Door gomes op 13 januari, 2021 - 16:34

https://www.drupal.org/project/age_exposed_filter geïnstalleerd maar helaas werkt het niet. Ik zie geen listboxes settings in de view. Heeft misschien iets te maken met de searts api of de instellingen.
Kijk wel even verder. groet, Roy

afbeelding van jo.w
Door jo.w op 13 januari, 2021 - 18:43

Kijk eens of je met deze module verder komt: https://www.drupal.org/project/yearonly
En met deze module moet je dan de leeftijd kunnen bepalen: https://www.drupal.org/project/computed_field

Je kan éea doen met voor de gebruiker aanwezige maar niet zichtbare velden.

Jo

Door gomes op 14 januari, 2021 - 22:12

Dank je Jo voor de informatie. ga er morgen mee aan de slag.
Als vast bedankt. Groet, Roy

Door gomes op 18 januari, 2021 - 16:49

Gisteren de Yearonly module geïnstalleerd. Hij gaf een foutmelding en na wat zoeken kwam ik uit op https://www.drupal.org/project/yearonly/issues/2951779 Een patch geïnstalleerd en de foutmelding was weg.
ondanks dat krijg ik het niet voor elkaar om: filtercriterium instellen: Gebruiker datasource: het juiste format te vinden. IK gebruik gegroepeerde filters en als waarde type vink ik: Een offset ten opzicht van de huidige tijd, zoals '+1 day' of '-2 hours -30 minutes' aan. alle formats al geprobeerd. Lees op het drupal forum dat er meer drupal dates gebruikers er last van hebben. Wil graag dat gebruikers kunnen filteren op leeftijden: tussen de 18 en 30 jaar en tussen 30 en 45 jaar. Ik gebruik ( ligt tussen )
Ga het nog eens proberen met de Date core module.

afbeelding van belba
Door belba op 29 januari, 2021 - 11:27

Dit is een mooi topic. Inderdaad maak je de datum beter dynamisch. Voor een website in opbouw gebruik ik ook de yearonly module. Die wordt ingezet om de leeftijd van een 2dehandsauto te bepalen.

Ik ga er van uit dat je een views hebt of kan maken. Je gaat naar filter criteria en zoekt je field_jaar (dat zal bij jou anders zijn, zie inhoudstype voor de juiste naam). Je vinkt aan " expose this filter so visitors can change it". Vink in het volgende aan "grouped filters" en voor de widget "select". Scroll nu naar beneden in de filter. Daar kan je een selectie lijst maken met jou criteria. Bij de label plaats je wat je je gebruikers wil laten zien. Bijvoorbeeld group 1 -> label ="+ 25 jaar oud" operator ="is less or equal to" value = 1997.

Dit zou een voorlopige oplossing kunnen zijn, want het probleem stelt zich, dat je elk jaar de waarde met een jaar dient aan te passen. We kunnen daar nu mee leven. Maar ik werk wel aan een dynamische oplossing. Het moet mogelijk zijn die waarde jaarlijks programatisch te veranderen. Door je bericht had je me terug wakker gemaakt voor dit euvel. Ik post hier opnieuw indien daar een oplossing voor komt.

Succes, Jan

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.

onomatopee