D1 les 03

Inhoudstypes

In dit thema gaan we werken met verschillende types inhoud. Eerst verkennen we de types die voorradig zijn, tenslotte maken we zelf een nieuw type aan. Dit is Drupal op zijn best. Het bepalen wat er op een pagina voorkomt kan niet in Joomla. In vorige Drupal versies bestond de CCK (Content Construction Kit). Deze zit nu standaard in de Drupal 7. Als je bijvoorbeeld een vergelijking wil maken van auto's van een bepaalde prijsklasse, dan zal daar de naam, foto, cilinderinhoud, prijs, afwerking, opties,... in voorkomen. In Drupal leg je deze velden vast zodanig dat elke pagina van dit type op dezelfde manier wordt ingevuld. Je bepaalt ook wat er in de teaser voorkomt en wat niet. Je legt de maximale en minimale grootte van de afbeeldingen vast, enz..

We bekijken nog eens de 2 types die we tot hiertoe vonden. Weet je nog de verschillen? Er zijn nog inhoudstypes meegeleverd. Poll, Blog en Forum zitten standaard in de Drupal installatie. Je moet ze enkel aanvinken. We komen er op terug in de les 'Interactief'

Laat ons nu eens zelf een inhoudstype maken. We zouden graag ons personeel online voorstellen volgens een indentiek patroon. We maken een nieuw inhoudstype aan. Zet het in het navigatiemenu, zonder mogelijkheid om te reageren.

Kijk het staat er reeds bij:

Nu gaan we de velden instellen. Een afbeelding is gewenst natuurlijk.

Eenmaal opgeslagen komen er allerlei opties te voorschijn.

Je bepaalt de types en grootte van de afbeeldingen:

We gaan ook het geboortejaar tonen. Enkel om didactische redenen gebruiken we hiervoor een keuzelijst

We maken een (vereenvoudigde) lijst aan:

Maak ook een tekstveld aan met e-mailgegevens. Ga nu de inhoud toevoegen door jezelf te presenteren... ijdelheid, o ijdelheid

Het resultaat. Wil je een veld met bvb de loopbaan van deze kerel, dan moet je weer bij het inhoustype dit instellen. Het voordeel van dit type is dat als er straks verschillende mensen meewerken aan dit personeelsbestand, dat ze allemaal dezelfde structuur zullen gebruiken. Je ziet nu ook dat er een link werd aangemaakt per personeelslid. Dit is niet professioneel. Je wilt toch een overzicht van alle werknemers. Zo'n overzicht is het volgende thema in deze cursus.

Tenslotte komen we nog eens terug op onze inhoud. Deze bevat nu naast de artikels ook de enquête, blog-items, personeelsleden.

Weet dat je deze inhoud kunt aanvinken en gezamentlijke acties uitvoeren. Handig als je bvb wat blogitems wil verwijderen..

De inhoudstypes hebben voor ons nu geen geheimen meer. We zijn in staat om bestaande types aan te passen en desnoods nieuwe te maken... Klaar voor een oefening...

Als oefening (hier wordt de werkwijze niet getoond in de cursus. Het is de bedoeling dat de cursisten zelf deze oefening maken...) gaan we een immobiliënkantoor nabootsen. Haal wat foto's van het net om 2 woningen mee te kunnen beschrijven. Als je op het overzicht klikt krijg je de 2 woningen te zien. Let op de velden die hier worden voor gebruikt... Dit overzicht zal later met de module 'Views' opgemaakt worden en kunnen de huizen naast elkaar worden gepresenteerd. Hier zijn we tevreden dat ze nog onder elkaar komen...

Na klikken op één van de foto's of links krijg je het volledige artikel te zien. De intro_foto wordt nu groter en er zijn meerder velden te zien. Ook zijn er detailfoto's zichtbaar. Let op de details van € en m²... Alle afbeeldingen zijn gelijk van formaat. Ook de intro_foto.

Op het einde van de fotoreeks komen er nog 3 velden:

bij het type wordt gelinked naar de tag fermette.

Tenslotte wordt alles in de navigatiemenu gelinked:

Overzichtspagina's

Tagadelic module (in opbouw)

Dit thema gaat over overzichtspagina's. Zo is de Home pagina er één. Ook kan je een structuur aanmaken met categoriën en subcategoriën en trefwoorden om daarna naar deze trefwoorden te linken met eenoverzichtspagina. We leren alle opties. Overzichtspagina's maken meer en meer deel uit van onze intro op een site. Het steriel tonen van links is een beetje passé.

1) Voorpagina

Je hebt al geleerd hoe je iets op de home page krijgt. Vinkje aanzetten en het staat er. Je weet ook al hoe je een artikel sticky maakt. Bij intellingen kan je bepalen hoeveel artikels er worden getoond op deze pagina. Zijn er meer artikels, dan worden deze als link getoond. In onderstaande afbeelding zie je dat je ook gelijk welke pagina als homepage kunt instellen. Opgepast! Het systeem met vinkje aanzetten werkt dan niet meer. Het is dan namelijk een normale overzichtspagina geworden die met trefwoorden werkt.

Ook nog even meegeven dat de standaardwaarden van een inhoudstype bij de instellingen van dit type kunnen worden ingesteld.

De manier waarop een overzicht wordt gegeven zoals op de Homepage, wordt bepaald door de velden die je voor de weergave 'Teaser' hebt gekozen. Je kunt hier ook een kleinere afbeelding nemen dan op de normale weergave.

2) Overzichtspagina's

Aan de instellingen van de homepage is er weinig lol te beleven. Andere koek zijn de andere overzichtspagina's. Om een overzicht te kunnen oproepen moet je eerst een structuur maken van categoriën. Dit heet in Drupal termen 'Taxonomie'. De persoon die deze term heeft gekozen wil ik wel eens spreken... een mens denkt eerst aan opgezette dieren, maar neen.. Via structuur geraak je er.

Er blijkt standaard een 'woordenlijst' (verschrikkelijk slechte en verwarde benaming voor categorie) te zijn aangemaakt met de naam 'Labels'. Deze categorie bestaat uit 'Termen' (weer zoiets) en zijn subcategoriën. Je kunt deze subcategoriên in verschillende niveau's verder zetten, geen probleem. Ik ga een categorie aanmaken met naam 'Drupal cursus', onderverdeeld in de termen 'Lessen' en 'Oefeningen'. Oefeningen deel ik nog verder op in herhalongsoefeningen en projecten.

De categorie wordt aangemaakt:

en de termen toegevoegd:

Ik geef ook een korte beschrijving mee. Geef ook de term een URL alias zoals 'Lessen'. Veel makkelijker dan de zelf aangemaakte nodes van Drupal.

Daarna volgt de tweede term.

In het overzichtje zie je ze reeds staan.

Wil je een niveau lager of hoger, klik dan op relaties.

Zo maak ik de onderverdeling. Let ook op de insprong.

Hoe gaan we nu onze artikels koppelen aan deze structuur? Bij het inhoudstype moet je een veld toevoegen. Ik maak een veld aan met de naam groep, type 'referentie naar een term'. Let voorlopig niet op het veld tags. Dat is voor straks.

Als dit veld is aangemaakt zal je bij het maken van een nieuwe pagina van dit type, de mogelijkheid hebben om dit in te delen volgens je structuur. Ook bestaande artikels kunnen nog worden geordend. Je bent wel verplicht om één categorie te kiezen. Je kunt dus artikels hebben die qua inhoud gelijk zijn en enkel verschillen van de hoofdcategorie waar je ze in aanbrengt. Toch zijn het 2 verschillende types. Je kunt niet op deze manier van het één naar het ander. Ik zeg wel, op deze manier..

Een voorbeeldje van een artikel dat kan aangepast worden aan een term. Je ziet dat de moedercategorie 'Drupal cursus' en de andere 'Labels niet aanwezig zijn.

Zet alle je vroeger gemaakte lessen 1 tot 4 over naar de term 'lessen'. Vul nu ook bij tags enkele trefwoorden in. Maak dat er een trefwoord bij enkele lessen gemeenschappelijk voorkomt. ik doe dit voor les 1:

en nu voor les 2. Zie je dat  'installatie' gemeenschappelijk voorkomt.

Vervolledig voor de ander lessen. Nu is het tijd dat we een link leggen naar de overzichtspagina met de term 'Lessen'. We gaan naar Menu's en maken er een. Ik kies hier de hoofdmenu. De andere links staan in Navigatie.

Geven het een passende naam en vullen de alias in (zie de tip van boven)

en ziet... Onze link Lesoverzicht geeft een overzicht van de lessen. Les 3 blijft sticky (weet je nog). Merk ook de tag op onderaan.

Naast de structuur die we opgezet hebben met categoriën en termen, kan je namelijk bij het inhoudstype 'artikel' gebruik maken van tags. Zie onder.

Tags zijn de andere manier om artikels te groeperen. Dit werkt met trefwoorden. Dit ehbben we reeds gezien.  Hier zou trouwens de benaming ' woordenlijst' wel passend zijn. Je moet er niets voor doen. Alles met hetzelfde trefwoord wordt gegroepeerd en er wordt automatisch een overzichtspagina voor aangemaakt. Klik op installatie als tag.

De twee artikels met dezelfde tag worden in overzicht getoond. Dit overzicht krijgt als titel de tagnaam mee. Praktisch.

Tags van vroeger gemaakte artikels kunnen niet naar een andere woordenlijst (categorie) worden omgezet. Kijk maar bij de inhoudstypes.

Elke tag komt voor in het taxonomie overzicht als aparte term. Zo kan je er ook naar linken in een menu. Hou de muis er over en kijk naar de url in de statusbalk om de link te weten te komen.

Het geklungel om de link te achterhalen is niet echt professioneel. Daarom gaan we een module installeren:

Na activatie kan je nu in de taxonomie woordenlijst een menu toekennen om de termen zichtbaar te maken.

Je kunt ook een volledig nieuwe menu maken en deze dan toekennen. 

We gaan dit in een didactische oefening aantonen. We verkopen gereedschap (boor- en zaagmachines) De afbeedlingen voor deze oefening kan je hier downloaden.
Onderstaand voorbeeld toont 2 menu's (in blokken). Merken en aanbod. De termen gekoppeld aan deze woordenlijst worden automatisch ondergebracht als menu-item.

Bij klikken op de teaser krijg je de full versie. Zo zie je welke velden ik gebruikt heb. Pas ook colorbox toe en plupload voor de afbeeldingen op de server te krijgen.

deze velden heb ik gebruikt... Kies aan de hand van bovenstaand voorbeeld wat er getoond wordt in de overzichtsweergave en in de full versie.

Conclusie. Overzichten maak je door ze te koppelen aan een structuur, die je op voorhand vast legt. Met artikels die je daarvoor instelt. Je maakt categoriën en subcategoriën aan zoveel je wilt. Je kunt ook de inhoud linken met trefwoorden (tags), los van deze structuur. Dit wordt gebruikt om de ordening te verfijnen en te crosslinken. Sommige artikels kunnen namelijk gemeenschappelijke onderwerpen hebben die je niet vooraf kon weten. In de praktijk worden ze door elkaar gebruikt. Opgelet voor de trefwoorden. 'old timer' en 'oldtimers' zijn verschillende woorden! Bij tags verlies je ook soms het overzicht. Maak daarom je tags op voorhand en kies daaruit.

3) Views

Views (overzichten) is een ideale manier om je gegevens te presenteren. Het is zo belangrijk dat we er een volledige les aan besteden. Zie later.

Project derde les

Wij hebben in de vorige lessen kennis gemaakt met de inhoudstypes 'Basic' en 'Article'. Deze inhoudstypes worden meegeleverd als voorbeeld bij de installatie van Drupal.

Basic hebben we gebruikt om een welkomspagina te maken. Het heeft enkel een body om tekst en desnoods enkele afbeeldingen tussen de tekst weer te geven. Article leek ons geschikt om enkele gerechten te publiceren. Het inhoudstype heeft een afbeelding, een body en tags.

We herhalen in een oefening nog eens deze twee inhoudstypes. Maak inhoud aan die een soort geschiedenis van de zaak weergeeft, alsook twee artikels die gaan over onze prijzen die we in de loop der jaren hebben gekregen. Welke inhoudstypes passen het best bij deze inhoud? Motiveer je antwoord.

Nu gaan we zelf een inhoudstype aanmaken en velden instellen. We kiezen als voorbeeld in ons traiteur project om ons aanbod aan kazen voor te stellen. Bekijk dit voorbeeld. Welke velden heb je nodig?

Vooraleer je een inhoudstype maakt moet je eerst nadenken welke taxonomietermen je gebruikt. De wijze waarom we vorige les te werk zijn gegaan is niet echt professioneel. Taxonomietermen leg je best vooraf eerst vast in 'woordenlijsten'.

Maak de woordenlijsten aan zoals hier boven. Vul ze met allemaal met enkele termen:

We stellen het inhoudstype qua input als volgt voor:

Merk op dat ik telkens een andere widget (=manier van ingeven bvb een keuzelijst, keuzerondjes, tekstvak,..) neem voor de taxonomieterm.

Bij de output hebben we voor de standaard weergeve (=full versie):

en voor de teaser neem ik deze instelling:

Vooralleer we inhoud gaan toevoegen, gaan we eerst het probleem van die URL's aanpakken. Tot hiertoe moesten we per artikel telkens een alias geven aan onze URL. We installeren Pathauto (en Token) om dit probleem op te lossen. Modules installeren doe je net zoals thema's. Normaal gezien zou pathauto bij elke Drupal moeten geïnstalleerd worden. Ik heb dit echter niet gedaan om je ook eens een module te leren installeren. Ik heb ook een module geïnstalleerd die de vertalingen gaat opzoeken en telkens de vertaling ook mee installeert... Ze kunnen me niet genoeg betalen..

Bij de instelling zet je dit best zo. De URL wordt dan sitenaam/inhoudstype/titel. Meer moet dat niet zijn. Token is de module die je in staat stelt om zo algemene patronen te gebruiken.

Als je geen aliassen had gegeven kan je via massaal bijweken, alle niet ingevulde aliassen automatisch genereren:

Voeg een viertal kazen als inhoud toe. Nu gaan we een overzicht maken van een type dat we nog niet gezien hebben. We maken gebruik van Drupal views (=overzichten).

Alles van een inhoudstype kan je weergeven.

Als je een menulink wil kan je dit instellen. We houden het overzicth op de teaser versie. Later komen we nog uitvoerig terug op Views.

 

Maak nu een ander inhoudstype aan 'wijnen'. Ik laat de keuze van de velden aan jou over. Een voorbeeld:

Voeg een aantal wijnen toe aan de inhoud. Maak weer een overzicth met Views en zorg voor een menulink.

We hebben nu 2 inhoudstype aangemaakt en we hebben er inhoud aan toegevoegd. De URL's werden automatisch via een alias, Google vriendelijk gemaakt.

Kunnen we ook inhoudstypes combineren. Bijvoorbeeld... laat ons bij elke kaas een aangepaste wijn voorstellen, die dan als keuzelijst te voorschijn komt.

Vooraleer we dit kunne moeten we eerst de module 'entity references' installeren. De is afhankelijk van Entity API en Chaos tools (dit laatste werd reeds door mij geïnstalleerd)

Het geeft bij de velden een nieuwe mogelijkheid:

Je stelt in wat voor inhoudstype je wilt gebruiken. Hier willen we de wijnen tevoorschijn brengen.

Het combineren van inhoudstypes is een krachtig wapen. Hier kiezen we een wijnsoort bij onze kaas, maar het kon evengoed een personeelslid zijn met zijn coördinator of een bewoner met zijn straat. In dit laatste geval neem je beter een taxonomieterm. Waarom? Wanneer ga je taxonomietermen nemen in een keuzelijst en wanneer genereer je een lijst vanuit een inhoudstype.... De moeilijste vraag tot hier toe...