Dag 8: Velden toevoegen

Om voort te borduren op de architectuur metafoor van gisteren: we gaan de vandaag de functies en afmetingen van onze kamers nader specificeren. Op het moment dat iemand een factuur aanmaakt moet hij bijvoorbeeld ergens het factuurnummer en een factuur bedrag in kunnen voeren. En wanneer de klant een factuur bekijkt, zou het dan niet mooi zijn als het logo van jouw bedrijf zich op de factuur bevindt?

Velden beheren

Om dit voor elkaar te krijgen gaan we net als gisteren naar structuur > inhoudstypen, waar we een overzicht zien van onze content typen. Achter elk content type zie je enkele links staat, kies bij Facturen voor velden beheren.

Wat je nu ziet is een lijst van de nu aanwezig invoervelden voor het Factuur content type. Op deze pagina kunnen we precies bepalen hoe het formulier eruit ziet dat een gebruiker moet doorlopen wanneer diegene een factuur aanmaakt.

Op dit moment is er een veld voor de titel en voor een wat langere tekst, het “body” veld. We kunnen het aantal velden uitbreiden door de velden in te vullen bij een extra veld toe te voegen. Maar we beginnen met het bewerken van een bestaand veld.

Een bestaan veld bewerken

In het veld dat nu “body” heet moet de factuuromschrijving worden ingevuld. Het is duidelijker als we dit veld dan ook hernoemen. Klik hiervoor achteraan het body veld op bewerken.

Bovenaan bevindt zich het label veld waar we de nieuwe naam kunnen invoeren. Type hier “omschrijving” in en controleer of aangevinkt is dat het om een verplicht veld gaat.

Verder hoef je alleen nog maar onder het kopje rijen de hoogte van het tekstveld te verkleinen naar 10 i.p.v. 20 rijen. Scroll helemaal naar onderen om de aanpassingen op te slaan.

Dat was een eitje, nu ons eigen veld toevoegen.

Een veld toevoegen

Onderaan, onder het kopje een veld toevoegen, zie je enkele lege velden. Vul allereerst als label+ "Factuurnummer" in. Daarmee wordt automatisch de systeemnaam, een unieke naam die Drupal aan het veld koppelt, gegeneerd.

Vervolgens kies je een veld type. Je ziet dat er een aantal mogelijkheden zijn; bij sommige kun je je misschien wel iets voorstellen. Het numerieke invoerveld dat in dit geval nodig is activeer je door voor Integer te kiezen.

Als widgettype* is er voor dit veldtype maar één keuze aanwezig, namelijk tekstveld.
Waar het veldtype bepaalt welke content ingevoerd moet worden (tekst, cijfers, afbeelding, etc.), bepaalt het widgettype de wijze van interactie (selectielijst, dropdownmenu, uploadveld, etc).

Klik nu helemaal onderaan op opslaan.

Nog meer opties

Na het toevoegen van het veld word je doorgestuurd naar een pagina waar je de eigenschappen van dit specifieke veld verder kunt controleren. Je doorloopt altijd twee vensters, het eerste laat de belangrijkste opties zien, het tweede de overige instellingen. Voor dit veldtype zijn er alleen een aantal extra opties, klik eerst op veldinstellingen indienen om deze te bekijken.

In het nieuwe venster kun je het label eventueel nog wijzigen dat wordt weergegeven boven het factuurnummer, dit staat nu op Factuurnummer en dat lijkt mij voor zowel gebruikers als bezoekers duidelijk genoeg. Vervolgens vink je hieronder aan dat het om een verplicht veld gaat.

De opties die hierna komen, zoals minimum en maximum waarde, kunnen we met rust laten, alleen van standaardwaarde maken we nog gebruik. Hier kun je optioneel iets invullen als 201200xxx zodat een gebruiker niet telkens het complete factuurnummer hoeft in te vullen, met de kans op foutjes. 

Klik nu helemaal onderaan op opslaan. Wanneer je dit soort instellingen naderhand wilt wijzigen klik je achter het desbetreffende veld op bewerken.

Factuurbedrag

Er zijn nog twee andere numerieke velden die we gaan toevoegen zodat gebruikers een bedrag ex- btw inclusief btw kunnen invoeren. Om cijfers achter de komma toe te staan stellen we ditmaal stel decimaal als veldtype in. We beginnen met het ex BTW veld.

Druk weer op opslaan. Bij het instellen van de veld eigenschappen stel je Schalen+ op 2, zodat er ruimte is voor twee cijfers achter de komma, geef op dat er maar 1 waarde (1 bedrag) ingevoerd hoeft te worden en dat Precisie 10 voldoende is (schrijf je facturen uit van boven de miljard dan schroef je dit iets op).

Sla op om verder te gaan naar de volgende pagina met instellingen. Hier hoef je alleen nog maar onder het kopje voorvoegsel het euro teken in te vullen.

Je merkt het, Drupal laat niets aan het toeval over.

De mogelijkheid om een afbeelding te uploaden

Als laatste voegen we een uploadveld toe voor afbeeldingen. Dit doen we voor zowel facturen als voor diensten, met als enige verschil dat we voor onze factuur een standaard afbeelding opgeven, omdat dit altijd ons bedrijfslogo dient te zijn.

Voeg een nieuw veld toe met het label logo en met als veldtype en widgettype afbeelding.

Klik nu eerst op opslaan en op de volgende pagina klik je onder het kopje standaardafbeelding op “bestand kiezen”. Selecteer een geschikte afbeelding op je pc die als logo kan dienen, klik op OK en dan op uploaden.

Sla de instellingen op, waarna weer een nieuw venster met opties laad. Hier kun je in het veld bij hulptekst eventueel een kort tekstje intypen om aan gebruikers duidelijk te maken dat ze geen gebruik hoeven te maken van dit veld aangezien standaard het logo wordt toegevoegd.

Er zijn nog een aantal andere interessante opties, zo kun je de afmetingen autmatisch laten aanpassen en een speciale doelmap opgeven waar afbeeldingen geupload worden. We gaan hier nu geen gebruik van maken dus mag je helemaal onderaan de instellingen opslaan.

Voeg nu ten slotte aan het content type Diensten eenzelfde afbeeldingsveld toe. Ditmaal sla je het uploaden van een standaardafbeelding over.

Uitbreiden

Een lijst met een beschrijving van alle standaard aanwezige veldtypes vind je hier op Learndrupal.org. Het aantal beschikbare veldtypes en widgettypes kun je met behulp van modules eventueel uitbreiden, denk bijvoorbeeld aan een datum veld waarmee gebruikers een datum aan een node kunnen toevoegen via een kalender widget. Perfect om eventueel nog een factuurdatum aan je factuur toe te voegen (op de projectpagina is een video tutorial te vinden).

Slot

Het grote voordeel van het werken met velden is de flexibiliteit die je hiermee wint. Zou je bijvoorbeeld geen apart veld hebben voor het factuurbedrag, maar dit in de body tekst noemen, dan kun je klanten nooit de mogelijkheid aanbieden om hun facturen te sorteren op bedrag. Ook zou je niet kunnen bepalen dat het exlusief btw bedrag geen deel moet uitmaken van de teaser weergave. Teaser weergave? Daar gaan we het morgen over hebben.
 
PS Er ontbreekt nu nog 1 veld, maar daar komen we op een andere dag op terug. Heb je al een idee? (tip: het is geen veld dat een klant krijgt te zien, maar het heeft er wel mee te maken)
Laatst gewijzigd op: