Årliga grupper

Events happening in the community are now at Drupal community events on www.drupal.org.
webx's picture

Jag bygger en sajt för en amatörteaterförening som varje år sätter upp en produktion.
Till varje produktion finns medlemmarna uppdelade i ett antal grupper såsom dekorgruppen, kostymgruppen, sminkgruppen osv.

Så långt inga problem. Men dessa grupper finns varje år med olika medlemmar. Varje medlem kan dessutom vara medlem i flera grupper.

De vill kunna lista alla medverkande filtrerat på år/grupp eller år och grupp.
Hur löser jag det snyggast?

Comments

Det mest flexibla sättet är

solipsist's picture

Det mest flexibla sättet är att skapa två nodtyper och referensfält mellan användare och noder. Börja med att skapa dessa nodtyper/innehållstyper:

  • uppsättning med fälten titel, år, grupper et c
  • grupp med fälten namn, medlemmar et c

Skapa sedan ett fält av typen nodreferens (kräver modulen node reference) för nodtypen uppsättning som kopplar samman nodtypen grupp med uppsättning, på så sätt tillhör en grupp en uppsättning. För att koppla samman användare till grupper kan du använda modulen user reference för att upprätta en relation mellan gruppen och dess medlemmar. När man skapar eller ändrar en gruppnod kan man välja vilka användare på sajten som är dess medlemmar. Användare kan vara medlemmar i flera grupper samtidigt.

I Views kan du använda dig av sådana här relationer med relationships. Du kan enkelt visa grupper som tillhör en uppsättning, eller medlemmar som varit aktiv för en viss uppsättning. Om det är flera uppsättningar per år kan du filtrera uppsättningar på år.

Om du tycker Views verkar knepigt att komma in och att det vore bra med en grundkurs i Views och det jag beskrivit ovan kan jag tipsa om NodeOnes utbildningar i Drupal eller den nyutkomna drupalboken av Johan Falk.

Lista gruppers medlemmar

webx's picture

Men då finns ju ingen relation mellan samma grupp fast olika år. Exempelvis blir det jobbigt att lista alla som varit med i sminkgruppen genom tiderna. Dessutom kan folk vara med i olika grupper olika år.

Min tanke rent databasmässigt är att ha tre tabeller: år, grupper och medlemskap, där tabellen medlemskap innehåller en gruppreferens och en år-referens.

Hur gör man i så fall om man visst innehåll bara ska vara tillgängligt för årets medlemmar?

Om grupperna består men

solipsist's picture

Om grupperna består men medlemmar kommer och går är det väl vettigt att lagra det år medlemmen varit aktiv i dess användarprofil (content_profile). Då behöver man inte upprätta nya grupper varje år och man kan lista de som är aktiva aktuellt år. För detta behövs bara ett textfält av typen multiple choice.

Hur gör man i så fall om man visst innehåll bara ska vara tillgängligt för årets medlemmar?

Enklast är att sätta behörighet genom noden uppsättning, och då kan du använda den metod Johan beskriver här.

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: