Dag 6: Inhoudstypen, velden en weergaves

De komende twee dagen gaan we aan de slag met de kern van elk CMS systeem: content. We beginnen vandaag met de theorie en morgen gaan we die in de praktijk gaan brengen. Drupal behoeft namelijk op dit vlak wat extra uitleg omdat het systeem vrij uniek is in de manier waarop het met content omgaat als je dit vergelijkt met andere open-source CMS systemen. Dat uit zich er vooral in dat je heel veel kunt instellen (what else is new?).

Al die opties zorgen ervoor dat je in het begin misschien even niet weet waar je het zoeken moet, vandaar dat we vandaag eerst langs een aantal centrale begrippen lopen zoals inhoudstypes (content types), velden (fields) en weergaves (display types).

Wat moet ik verstaan onder een content type?

Stel je hebt een blogbericht en een statische “over ons” pagina. Hoewel beide content, zijn ze wezenlijk verschillend van elkaar. Een nieuw blog bericht zal waarschijnlijk op de voorpagina moeten verschijnen, terwijl voor een nieuwe pagina alleen een extra menu link moet worden aangemaakt.

Door voor beide inhoudtypes een afzonderlijke set van regels aan te maken, vertellen we aan Drupal hoe wij willen dat een blog of een pagina is opgebouwd, en hoe deze zich moeten gedragen binnen het CMS systeem. Deze set van regels maak je aan middels een nieuw content type.

Als een gebruiker vervolgens inhoud wil toevoegen aan de website dan kunnen ze één van de beschikbare content types als 'sjabloon' gebruiken. Ze hoeven dan in principe alleen maar de inhoud in te voeren, de rest is al bepaald.

Velden toevoegen

Onder de dingen die je bepaalt als je een content type aanmaakt vallen zaken zoals het wel of niet vermelden van de auteur. Maar het hoeft niet te blijven bij dit soort simpele aanpassingen. Je kunt ook hele nieuwe velden toevoegen aan een content type. Zo kun je bijvoorbeeld een extra tekstveld toevoegen (misschien wel een tweede auteur?) of de mogelijkheid om een afbeelding toe te voegen.

Het is ook mogelijk om een veld toe te voegen die de gebruiker in staat stelt om een artikel te koppelen aan een selectie van onderwerpen. De lijst van onderwerpen kun je bepalen door een taxonomie termen aan te maken, wat we op een andere dag nog gaan doen. Vervolgens zou je dan met een andere module alle artikelen weer kunnen laten geven die binnen hetzelfde onderwerp vallen.

Zo zijn er nog veel meer mogelijkheden die je in Drupal zelf bij elkaar kunt klikken met steeds dezelfde modules, terwijl je hier met een ander CMS systeem telkens weer een nieuwe module voor moet installeren.

Weergave aanpassen met display types

Wanneer een gebruiker via de administratie een afbeelding toevoegt aan een artikel, hoeft deze niet perse zichtbaar te zijn op de website zelf. Drupal maakt onderscheid tussen de velden van het formulier die een gebruiker krijgt voorgeschoteld bij het plaatsen van content, en de velden die een bezoeker te zien krijgt op de website. Per weergave kun je de zichtbaarheid en volgorde van velden instellen.

Ook voor andere specifieke situaties kun je per veld aangeven of, en hoe je deze wilt laten zien. Dit doe je door extra Weergaves (ook wel display types) toe te voegen. Ter illustratie: de blogberichten op de voorpagina worden weergegeven met het “teaser” display type geactiveerd. Maar zodra je op een bericht klikt wordt overgegaan op een ander display type, waarmee extra velden zichtbaar worden.

Op deze manier kun je o.a. bepalen dat een afbeelding als thumbnail wordt getoond wanneer het bijbehorende bericht zich op de voorpagina bevindt, en in ware grootte nadat iemand op dit bericht klikt.

Content types aanmaken

Door haar benadering van content forceert Drupal ons om eerst de structuur van de website goed te doordenken. Het daadwerkelijk toevoegen van content komt pas daarna. De eerste vraag die we onszelf moeten stellen bij ons project is hoeveel verschillende types content we gaan aanbieden. Laten we eens kijken naar de structuur van onze corporate website. Deze zal bestaan uit vier hoofdonderdelen, te weten:

  • Nieuwsberichten die getoond worden op de voorpagina
  • Een statische “Over ons” pagina’s
  • Een “diensten” pagina
  • Facturen die ingelogde klanten kunnen inzien

Het lijkt erop dat we in ieder geval vier verschillende types content nodig zullen hebben. Wanneer je inlogt op de website en naar inhoud > inhoud toevoegen gaat zie je dat er standaard al een nieuwsberichten (Artikel) en statische pagina’s (Basispagina) aanwezig zijn. Blijft over voor morgen het aanmaken van content types voor diensten en facturen.

Slot

Je hebt nu geleerd dat:

  • Content types bepalen welke content een gebruiker kan toevoegen en het verschil hiertussen in uiterlijk en gedrag.
  • Per content type kun je de in te vullen velden opgeven, bijvoorbeeld een link, een afbeelding of een taxonomie term.
  • De velden van het content item die uiteindelijk worden weergegeven, en de manier waarop dit gebeurt, kun je per situatie aanpassen door het gebruik van meerdere Weergaves.

Tot zover de theorie. Wees gerust als je nog niet overal een concreet beeld bij hebt. Nadat we morgen onze eerste content types hebben aangemaakt zullen deze termen al een stuk vertrouwder op je overkomen. De dagen erna besteden we achtereenvolgens aandacht aan het toevoegen van velden en het aanpassen van weergaves. 

Het zal niet lang duren voordat het omgaan met content binnen Drupal als een tweede natuur voor je zal zijn, en misschien dat je tegen die tijd ook al een klein beetje Drupal fan bent geworden, als je dat al niet bent.

Laatst gewijzigd op: