Dag 12: Views pagina maken (deel 2)

We hebben gisteren onze eerste view opgebouwd, maar er waren nog een aantal dingen om aan te passen. Pak deze view er maar weer bij dan gaan we gelijk verder. Ga naar structuur > views en klik op bewerken.

Een tekst toevoegen

Klik op de Views administratie pagina naast het kopje Kop op toevoegen, selecteer dan Global: Text area en klik op Apply.

Vul nu een label in (de bezoeker krijgt dit niet te zien) en de gewenste intro tekst. Laat “Display even if view has no result” uitgevinkt om verwarring te voorkomen als er geen facturen zijn. Sla op.

De preview onderaan is nu automatisch bijgewerkt met de nieuwe koptekst (let wel: dit betekent nog niet dat je veranderingen daadwerkelijk op de website zijn doorgevoerd, hiervoor moet je de View eerst rechtsbovenin opslaan).

Wanneer er geen facturen zijn kunnen we dit ook naar de klant communiceren. Klik hiervoor naast het kopje No results behaviour op toevoegen en vul ook hier een passende tekst in zoals: “Er zijn (nog) geen facturen beschikbaar”

Exposed filters activeren

Om de filters voor bezoekers beschikbaar te maken kun je terecht onder het kopje Sort Criteria, linksonder.

Klik eerst op het al aanwezige filter voor de post datum (inhoud: Post Date) en vink hier bovenaan Expose this sort to visitors, to allow them to change it aan.

Als label vul je bijvoorbeeld "Datum" in. Klik daarna op Apply.

Extra exposed sorteer filter toevoegen

Nu gaan we een nieuw filter toevoegen waarmee gebruikers facturen kunnen sorteren op "bedrag inclusief BTW".

Klik hiervoor bij Sort Criteria op toevoegen. Om alleen de velden te zien die met de inhoud van nodes te maken hebben kun je achter het kopje Filteren in het dropdown-menu inhoud selecteren.

Zoek nu in de lijst naar Inhoud: Bedrag (inc BTW) (field_bedrag_inc_btw_) (4e van boven). Vink dit filter aan en klik onder op Apply.

In het volgende venster vink je weer expose this filter aan en als label vul je iets als “bedrag” in.

Het resultaat zien we onderaan in het preview venster. Je kunt de filters hier zelf uitproberen. Mooi toch? Nouja, nog niet helemaal.

Gebruikersfilter aanpassen

Het filter is nog in het engels. Onder Exposed Form (eerst de advanced instellingen uitklappen) kunnen we dit aanpassen. Onderaan zie je de regel style:Basis | Instellingen. Klik op Instellingen. Hier kun je het één en ander vertalen, zo bijvoorbeeld:

Om de submit knop helemaal weg te halen, wat ik persoonlijk mooier vind, vink je onderaan autosubmit aan en vervolgens hide submit button. Apply.

Nu zijn we klaar! Als je de view rechtsbovenin opslaat zou het menu-item “mijn facturen” toegevoegd moeten zijn aan het gebruikersmenu (helemaal onderaan de website, inloggen vereist).

Overigens; wanneer je als ingelogde beheerder over een View heengaat verschijnen er meerdere bewerk knoppen, degene die zich het meest rechtsbovenin bevindt leidt naar de beheer pagina voor de View zelf, de anderen leiden naar de bewerk pagina van de afzonderlijke nodes in de lijst.

Diensten pagina maken

Nu we een View hebben gemaakt met een factuuroverzicht, zou de Diensten pagina een fluitje van een cent moeten zijn. Probeer zelf een View hiervoor te maken.

Hieronder heb ik een screenshot toegevoegd van hoe deze View eruit zou kunnen zien, zodat je eventueel kunt spieken (klik erop om te vergroten). Kom je ergens niet uit laat het dan even weten in de comments.

Heb je de smaak te pakken? Speel dan nog even lekker verder met je View; voeg filters toe, verfijn ze en kijk wat er gebeurt in je preview venster. Verander eens het weergave formaat van de lijst of de nodes, enzovoort. Zolang je je View niet hebt opgeslagen kun je al je wijzigingen weer annuleren.

Slot

Gisteren en vandaag hebben we een topje van de sluier opgelicht van de Views module. Er is natuurlijk nog veel meer te ontdekken, maar met de kennis die je nu hebt kun je al heel wat ideeën tot uitvoering brengen.

Maar eerst hebben we nog een probleem op te lossen. Want hoe mooi onze Views ook mogen zijn, op dit moment hebben we een klantenportal van niks. Want elke willekeurige gebruiker kan nu alle gepubliceerde facturen inzien. We hebben dan ook nog geen enkele aandacht besteed aan de zeer essentiële vraag: hoe gaan we ervoor zorgen dat klant A alleen zijn eigen facturen krijgt te zien, en niet die van klant B?

In de komende twee dagen ga je leren hoe je dit probleem kunt oplossen met behulp van gebruikersrollen, -rechten en -toegang. Te beginnen met de eerste twee.

Laatst gewijzigd op: