Terug naar hoofdinhoud
Contact­­ personen in Joomla
Op deze pagina
# Topics

Contact­­ personen in Joomla

10 juni 2026

Veel Joomla-gebruikers zien het component "Contactpersonen" over het hoofd. Ze beschouwen die als een eenvoudige plek om een naam en e-mailadres op te slaan, en grijpen daarom naar een formulierextensie van derden. Dat is een gemiste kans.

De component Contactpersonen (com_contact) is twee dingen tegelijk. Het is een gestructureerd adresboek voor de mensen en locaties achter je website: medewerkers, kantoren, afdelingen en partners. Daarnaast is het een volledig werkende contactformulier-engine, waarbij elke vermelding zijn eigen e-mailformulier kan hebben dat berichten naar de juiste persoon stuurt. Geen extra extensie nodig.

Van "toon onze kantoorgegevens" tot contactspecifieke e-mailformulieren, gebruikerskoppelingen en het ontwikkelaarsmodel erachter.

Dit artikel legt uit hoe Joomla Contacten echt werkt. Het behandelt de basis voor website-eigenaren, de praktische configuratie voor beheerders en de technische details voor ontwikkelaars. Je leert hoe contacten en categorieën samenwerken, hoe het e-mailformulier werkt, hoe overerving van weergave-instellingen wordt afgehandeld, hoe contacten worden gekoppeld aan gebruikersaccounts en hoe je de meest voorkomende fouten voorkomt.

1. De basis

1.1 De twee bouwstenen

De component is gebaseerd op twee eenvoudige concepten. Zodra je begrijpt hoe ze met elkaar samenhangen, valt de rest vanzelf op zijn plaats.

ConceptWat het isDatabasetabel
Contact Een enkele persoon of locatie (naam, adres, e-mail, formulier). #__contact_details
Categorie Een groep contacten (een com_contact-categorie). #__categories

De relatie is eenvoudig te onthouden: een contact hoort bij precies één categorie. Dit is dezelfde nested-set categorieboom die ook door artikelen wordt gebruikt.

1.2 Hoe de onderdelen samenwerken

Zie het als volgt:

Categorie ── Contact ──┬── Contactformulier → e-mail
                       ├── vCard           → download
                       └── Gekoppelde gebruiker → profiel + auteursartikelen
  • Contact bevat de gegevens: wie iemand is, waar die zich bevindt en hoe je contact kunt opnemen.
  • Categorie bepaalt hoe je contacten groepeert voor lijstweergaven en toegangsbeheer.
  • Formulier is een optioneel e-mailformulier per contact.
  • Gekoppelde gebruiker verbindt een contact aan een account in #__users.

Een handige manier om dit te onthouden: com_contact is een gestructureerd adresboek waarbij elke vermelding ook een werkend contactformulier kan zijn.

1.3 Waar vind je het?

In de Joomla 6-beheeromgeving beheer je contacten en categorieën hier:

Componenten → Contactpersonen → Contactpersonen  (de personen en locaties)
Componenten → Contactpersonen → Categorieën      (groepering)

De weergave aan de voorkant van de website wordt aangestuurd door menu-items:

Menu's → Nieuw → Contactpersonen → (Enkel contactpersoon / Lijst met contactpersonen in een categorie / Speciale contactpersonen / Lijst met alle categorieën in een contact categoriestructuur)

1.4 Welke gegevens bevat een contactpersoon?

Het scherm voor het bewerken van een contact verdeelt de velden over verschillende tabbladen:

TabbladInhoud
Contactpersoon Naam, gekoppelde gebruiker, afbeelding, categorie en het adresblok.
Overige informatie Vrije tekst voor "aanvullende informatie" in HTML.
Weergave Welke velden en links aan de voorkant worden getoond.
Formulier Of het e-mailformulier wordt weergegeven en hoe het zich gedraagt.
Publicatie Auteur, datums en metadata.

Het adresblok bevat onder andere: functie, adres, plaats, provincie/staat, land, postcode, telefoon, mobiel, fax, e-mail en website.

Naar boven

2. Contactpersonen aanmaken

2.1 Maak eerst een categorie aan

Een contact moet zich binnen een categorie bevinden, dus maak die eerst aan voordat je personen toevoegt:

Componenten → Contactpersonen → Categorieën → Nieuw

  • Dit is een gewone Joomla-categorie met extension = com_contact.
  • Ze gebruikt dezelfde categorieboom, dezelfde ACL en dezelfde knop Opnieuw opbouwen als artikelcategorieën.

2.2 Maak het contact aan

Voeg vervolgens het contact zelf toe:

Componenten → Contactpersonen → Contactpersonen → Nieuw

Slechts twee velden zijn verplicht:

  • Naam: de persoon of locatie.
  • Categorie: de com_contact-categorie waarin het contact thuishoort.

Alles daarbuiten (adres, e-mail, afbeelding, links) is optioneel, maar juist die gegevens maken een contact echt bruikbaar.

Naast de standaard adresvelden heeft elk contact vijf generieke linkvelden. Elk veld bestaat uit een URL en een label:

linka / linka_name      bijv. https://linkedin.com/...   "LinkedIn"
linkb / linkb_name      bijv. https://github.com/...     "GitHub"
linkc ... linke

Deze zijn ideaal voor socialmedia-profielen of "zie ook"-links zonder dat je aangepaste velden hoeft aan te maken.

2.4 Uitgelichte contacten

Je kunt voor elk contact de optie Uitgelicht (een ster) inschakelen. Een menu-item Uitgelichte contacten toont vervolgens alleen die contacten. Dit werkt volgens hetzelfde principe als uitgelichte artikelen: een geselecteerde subset bovenop de volledige lijst.

2.5 Aangepaste velden werken hier ook

De component Contacten ondersteunt custom fields, waardoor je deze zonder programmeerwerk kunt uitbreiden:

Componenten → Velden → (selecteer "Contacten")

  • Voeg getypeerde velden toe (tekst, lijst, kalender, media en meer) aan alle contacten of aan specifieke categorieën.
  • Deze worden automatisch weergegeven in de contactweergave en kunnen ook in het formulier verschijnen.

Voor de logica van veldgroepen en categoriegebonden velden, zie het aparte artikel "Focus op Custom Fields".

Naar boven

3. Contacten weergeven

3.1 Een contact doet niets zonder een menu-item

Zoals de meeste Joomla-content is een contact slechts data totdat een menu-item (of een module of plugin) het weergeeft. Er zijn vier typen menu-items:

Type menu-itemWat het toont
Enkel contact De volledige detailweergave en het formulier van één contact.
Contacten in een categorie weergeven Een tabel of lijst van één categorie.
Uitgelichte contacten Alle contacten die als Uitgelicht zijn gemarkeerd.
Alle contactcategorieën weergeven De categorieboom als links.

3.2 De weergave van een enkel contact

De weergave van een enkel contact wordt bepaald door het tabblad Weergave van het contact en de opties van het menu-item. Een typische lay-out ziet er zo uit:

[ afbeelding ]   Naam
                 Functie
                 Adresblok (elke regel afzonderlijk in- of uitschakelbaar)
                 Telefoon / Mobiel / Fax / E-mail / Website
                 Aanvullende informatie
                 Links (linka...linke)
                 Contactformulier

Voor elke regel bestaat een instelling Tonen / Verbergen / Globale instelling gebruiken. De standaardwaarden worden ingesteld in de Opties van de component.

3.3 De drie niveaus van overerving

Of een veld wordt weergegeven, wordt in deze volgorde bepaald, van meest specifiek naar meest algemeen:

Contact (tabblad Weergave)     Tonen / Verbergen / Globale instelling gebruiken
   └─ Opties van menu-item     Tonen / Verbergen / Globale instelling gebruiken
        └─ Componentopties     (globale standaardinstelling)

"Globale instelling gebruiken" vormt de verbindende schakel. Stel een waarde één keer in via Opties en overschrijf die alleen per menu-item of per contact waar dat echt nodig is.

3.4 Lijst- en categorieweergaven

  • De Lijstweergave toont een sorteerbare tabel met onder andere naam, functie en telefoonnummer.
  • Kolommen, zoekfilters en paginering zijn allemaal instelbaar via de opties van het menu-item.
  • De Categorieweergave toont de categorieboom, waarbij elke categorie naar zijn eigen lijst verwijst.

3.5 vCard downloaden

Elk contact kan een downloadbare vCard aanbieden (een .vcf-bestand). Dit is het standaardformaat dat door vrijwel elk adresboek wordt ondersteund.

allow_vcard = 1   →   link "Contactgegevens downloaden" in de contactweergave
  • Joomla bevat hiervoor een speciale weergave: src/View/Contact/VcfView.php.
  • Deze zet naam, functie, adresgegevens, telefoonnummer, e-mail en website om naar een .vcf-bestand.
  • Bezoekers hoeven slechts één keer te klikken om het contact rechtstreeks aan hun telefoon of e-mailprogramma toe te voegen.

Schakel vCard-download toestaan in via het tabblad Weergave (of globaal via Opties). Eén instelling, geen extra werk: een adresboek dat zichzelf kan exporteren.

Naar boven

4. Het contactformulier en e-mail

4.1 Het formulier is de belangrijkste functie

Elk contact kan een e-mailformulier tonen. Wanneer een bezoeker dit invult, verstuurt Joomla een e-mail naar het adres van dat contact. Je hebt hiervoor geen formulierextensie van derden nodig.

Bezoeker vult formulier in → Joomla valideert → e-mail naar contact → optionele kopie/antwoord

Je schakelt dit in via het tabblad Formulier van het contact of globaal via Opties.

4.2 Waar gaat de e-mail naartoe?

De ontvanger is het eigen e-mailadres van het contact, opgeslagen in het veld email_to. Dit is een belangrijk detail: de e-mail gaat naar email_to, niet naar het e-mailadres van de gekoppelde gebruiker.

Het tabblad Formulier biedt verschillende opties:

OptieEffect
Contactformulier tonen Hoofdschakelaar voor dit contact.
Kopie naar afzender sturen Stuurt de bezoeker een kopie van zijn eigen bericht.
Geblokkeerde e-mail / onderwerp / tekst Eenvoudige spamfilters (blokkadelijsten).
Sessiecontrole Vereist een geldige sessie (validate_session) als bescherming tegen bots.
Aangepast antwoord Onderdrukt Joomla's automatische antwoord zodat een plugin of integratie dit kan afhandelen.

4.3 Doorsturen na verzending

Het veld redirect bepaalt waar de bezoeker terechtkomt na een succesvolle verzending:

  • Leeg: terug naar de contactpagina met een bedankbericht.
  • Ingesteld: een aangepaste bedankpagina, handig voor conversietracking.

4.4 Ingebouwde bescherming tegen spam

Contacten bevatten lichte beveiligingsmaatregelen die ook zonder CAPTCHA al nuttig zijn:

  • CSRF-token: elke verzending roept checkToken() aan in ContactController::submit(). Een vervalste of verouderde POST-aanvraag wordt afgewezen voordat verdere verwerking plaatsvindt.
  • Geblokkeerde e-mail / onderwerp / tekst: blokkadelijsten op basis van tekstfragmenten, instelbaar per contact.
  • Sessiecontrole: weigert inzendingen zonder actieve Joomla-sessie, waardoor eenvoudige spambots worden tegengehouden.
  • CAPTCHA-plugin: als er een globale CAPTCHA (bijvoorbeeld reCAPTCHA) is ingesteld, gebruikt het formulier deze automatisch.

De CSRF-beveiliging staat altijd aan. Voeg daar sessiecontrole en een globale CAPTCHA aan toe en je houdt de meeste spam tegen zonder extra extensies.

4.5 E-mailadres afschermen

E-mailadressen die op de pagina worden weergegeven, worden verwerkt door de contentplugin Email Cloaking:

Dit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken.  →  versluierde JavaScript-code  →  zichtbaar voor mensen, verborgen voor scrapers
  • De instelling add_mailto_link bepaalt of het adres een klikbare mailto:-link wordt.
  • Het afschermen staat standaard aan: harvesters zien onleesbare code, terwijl bezoekers het echte e-mailadres zien.
Naar boven

5. Categorieën en toegangsbeheer

5.1 Contacten gebruiken het gedeelde categoriesysteem

Contactcategorieën zijn gewone Joomla-categorieën met extension = com_contact:

#__categories  WHERE extension = 'com_contact'

Dat betekent dat ze dezelfde categorieboom, dezelfde knop Opnieuw opbouwen en hetzelfde ACL-systeem gebruiken als artikelcategorieën.

5.2 Waarom categorieën hier belangrijk zijn

  • Een menu-item van het type Lijst of Categorieën richt zich op een categorie, die vervolgens je contactoverzicht vormt.
  • Je kunt contacten organiseren op afdeling, kantoor, regio of team.
  • Rechten worden overgeërfd binnen de categorieboom (Aanmaken, Bewerken, Status wijzigen, Verwijderen).

Voor details over het nested-set-model met lft en rgt, zie het artikel "Focus op Categorieën".

5.3 Toegang en taal

  • Het Toegangsniveau van een contact bepaalt wie het kan bekijken.
  • Met de instelling Taal kun je een contact alleen laten verschijnen op de bijbehorende sitetaal.
  • Combineer beide op een meertalige website: één structuur, waarbij personen worden gefilterd op taal.
Naar boven

6. Plugins en integraties

6.1 Contacten vormen een klein ecosysteem

Zes kernplugins breiden com_contact uit:

PluginTypeWat het doet
Contact content Toont de contactgegevens van de auteur onder een artikel.
Contact Creator user Maakt automatisch een contact aan wanneer een gebruiker zich registreert.
Contact editors-xtd Editor-knop om een link naar een contact in te voegen.
Contacts finder Smart Search-indexeerder voor contacten.
Contact privacy Exporteert en verwijdert contactgegevens voor AVG-verzoeken.
Contact webservices Activeert de REST API-routes.

6.2 Een contact koppelen aan een gebruiker

Het veld user_id koppelt een contact aan een account in #__users:

Contact.user_id  →  #__users.id

Deze koppeling maakt verschillende functies mogelijk:

  • Gebruikersvelden tonen: de profielvelden van de gebruiker verschijnen op de contactpagina.
  • De contentplugin Contact: een kader "Over de auteur" koppelt artikelen terug naar het contact.
  • Eén identiteit: het gebruikersaccount en de publieke contactvermelding verwijzen naar dezelfde persoon.

6.3 Contact Creator: automatische profielen

De plugin Contact Creator bevindt zich in plugins/user/contactcreator:

  • Bij gebruikersregistratie maakt deze automatisch een gekoppeld contact aan.
  • De plugin is configureerbaar: je kiest de doel-categorie, of het contact automatisch moet worden gepubliceerd en of de website automatisch wordt ingevuld.

De plugin haakt in op een Joomla-gebruikersevenement:

onUserAfterSave   →   ContactCreator   →   insert #__contact_details (gekoppeld via user_id)

Dit is een mooi voorbeeld van een eventgestuurde plugin: elke nieuwe gebruiker wordt automatisch een vermelding in de contactdirectory, zonder handmatige invoer.

6.4 De plugin "Over de auteur"

De contentplugin in plugins/content/contact maakt het mogelijk om in een artikel de contactgegevens van de auteur weer te geven:

Article.created_by  →  Contact.user_id  →  contactblok of link weergeven

Je configureert deze plugin globaal (positie en of deze koppelt of insluit). Zo vormt hij een brug tussen com_content en com_contact via dezelfde gebruikers-ID.

6.5 Smart Search en privacy

  • De Finder-plugin indexeert contacten zodat ze verschijnen in de zoekresultaten van de website.
  • De Privacy-plugin neemt contacten mee in AVG-verzoeken voor export en verwijdering. Dat is belangrijk omdat een contact persoonsgegevens kan bevatten.
Naar boven

7. Onder de motorkap (voor ontwikkelaars)

7.1 Eén hoofdtabel

De contacten zelf worden opgeslagen in één tabel:

#__contact_details   de contacten (personen/locaties) + formulier- en weergave-instellingen

Daarnaast zijn er records in de gedeelde tabel #__categories (met extension = com_contact) en in de tabellen #__fields* wanneer aangepaste velden worden gebruikt.

7.2 Belangrijke kolommen in #__contact_details

De belangrijkste kolommen zijn:

id, name, alias            identiteit + SEF-slug
catid                      categorie-id (→ #__categories)
user_id                    gekoppelde Joomla-gebruiker (→ #__users), 0 = geen
con_position               functietitel / functie
address, suburb, state,
country, postcode          adresgegevens
telephone, mobile, fax     telefoonnummers
email_to                   ontvanger van formulierberichten
webpage                    website-URL
image                      foto / logo
misc                       vrij HTML-blok met aanvullende informatie
linka...linke / *_name     vijf generieke URL- en labelvelden
default_con                standaardcontact van de categorie
featured                   markering als uitgelicht
sortname1/2/3              velden voor aangepaste sortering (bijvoorbeeld achternaam)
params                     JSON: alle show_* instellingen + formulieropties
metakey/metadesc/metadata  SEO + robots
published, access, language, ordering, hits, version
publish_up / publish_down  publicatieperiode

7.3 De MVC-structuur

De component is opgesplitst in een beheerdersgedeelte en een sitegedeelte:

administrator/components/com_contact/   ← beheer van contacten + categorieën
   src/Model/ContactModel.php, ContactsModel.php
   src/Table, src/Controller, tmpl/, forms/contact.xml

components/com_contact/                  ← front-endweergaven
   src/Model/ContactModel.php     (enkel contact + formulierverwerking)
   src/Model/CategoryModel.php    (lijst binnen een categorie)
   src/Model/FeaturedModel.php    (lijst met uitgelichte contacten)
   src/Model/CategoriesModel.php  (categorieboom)
   src/Controller/ContactController.php  (verwerking van formulier-POST)

plugins/...                              ← de zes integraties

Opvallend is dat de vijf modellen aan de sitezijde vrijwel één-op-één overeenkomen met de vier typen menu-items, waarbij het contactmodel ook de formulierverwerking afhandelt.

7.4 De verwerking van formulierinzendingen

Wanneer een bezoeker een contactformulier verstuurt, volgt de aanvraag dit pad:

POST /index.php?option=com_contact&task=contact.submit&id=42
   → ContactController::submit()
   → valideren (sessiecontrole, geblokkeerde woorden, CAPTCHA)
   → e-mail opbouwen en verzenden (Joomla Mailer)
   → optionele kopie naar afzender
   → doorsturen (aangepaste URL of terug met melding)

De eigen controller van de component, niet een generieke formuliercomponent, is verantwoordelijk voor validatie en verzending van e-mails.

7.5 SEF-URL's en de router

Contact-URL's worden opgebouwd en verwerkt door de router van de component:

components/com_contact/src/Service/Router.php

Deze zet querystrings om in nette, leesbare URL's en vice versa:

index.php?option=com_contact&view=contact&id=7   ↔   /contact/support/peter-martin

De router heeft drie taken:

  • Build: SEF-links genereren voor contacten, categorieën en uitgelichte weergaven.
  • Parse: een inkomende SEF-URL vertalen naar de juiste weergave en ID.
  • Menu-resolutie: waar mogelijk een bestaand menu-item gebruiken in plaats van een generiek pad.

Omdat de router onderdeel is van de component, blijven contactlinks werken wanneer categorieën worden verplaatst en sluiten ze automatisch aan op je menustructuur.

7.6 Web Services API (headless)

De component bevat REST-routes die worden geactiveerd door de webservices-plugin:

api/components/com_contact/src/Controller/ContactController.php
GET  /api/index.php/v1/contact/contacts
GET  /api/index.php/v1/contact/contacts/{id}
POST /api/index.php/v1/contact/contacts        (aanmaken)

Dit maakt moderne architecturen mogelijk:

Joomla API  →  React / Vue-directory  →  aangepaste contactweergave

De gegevens blijven in Joomla opgeslagen, terwijl de presentatie elders kan plaatsvinden. Houd er wel rekening mee dat API-gebruik de ingebouwde formuliermailer omzeilt, waardoor je formulierverwerking zelf moet afhandelen.

7.7 Programmatische toegang

Dezelfde nested-set Categories API werkt ook voor contacten:

use Joomla\CMS\Categories\Categories;

$categories = Categories::getInstance('Contact');
$node       = $categories->get('staff');   // via alias of id
$children   = $node->getChildren();

De tabel- en modelklassen bevinden zich in deze namespaces:

Joomla\Component\Contact\Administrator\Table\ContactTable
Joomla\Component\Contact\Site\Model\ContactModel

7.8 Template overrides

Elke weergave kan per template worden overschreven:

components/com_contact/tmpl/contact/default.php
templates/<jouw_template>/html/com_contact/contact/default.php   ← override

De weergave van een enkel contact is opgesplitst in sublayouts (_address, _user_custom_fields, _links enzovoort), zodat je alleen het adresblok of alleen het formulier kunt overschrijven zonder de volledige pagina aan te passen. De vuistregel: overschrijf de weergave, niet het model. Gegevens en presentatie blijven zo gescheiden.

7.9 Op grote schaal

Het datamodel is eenvoudig, maar bij directories met duizenden contacten zijn er enkele aandachtspunten:

AandachtspuntWaaromOplossing
Kosten van lijstquery's Categorie- en uitgelichte weergaven filteren en sorteren grote datasets. Indexeer catid, published, access en language.
Opzoekingen via gebruikerskoppelingen "Artikelen van auteur" en profielkoppelingen gebruiken user_id. Indexeer user_id (0 = geen komt vaak voor).
Joins van aangepaste velden #__fields_values groeit per contact en per veld. Beperk velden in lijstweergaven en laad ze alleen wanneer nodig.
Diepte van categorieën Diepe bomen vergroten scans op lft en rgt. Houd de boom ondiep en voer Opnieuw opbouwen uit na grote verplaatsingen.

Contacten worden veel gelezen en weinig gewijzigd. Cache de weergaven en indexeer de filterkolommen, dan schaalt de component probleemloos mee.

Naar boven

```html id="n4f8tx"

8. Veelvoorkomende fouten en valkuilen

8.1 "Het contactformulier verschijnt niet"

Doorloop deze checklist:

  • Is Contactformulier tonen ingeschakeld (op het tabblad Formulier van het contact en niet globaal verborgen)?
  • Heeft het contact een email_to-adres?
  • Is het menu-item van het type Enkel contact? Lijstweergaven tonen geen formulier.
  • Verbergt een verkeerd ingestelde optie Globale instelling gebruiken het formulier op een hoger niveau?

8.2 "De e-mail komt nooit aan"

  • Is de e-mailconfiguratie van de website correct ingesteld en faalt deze niet stilzwijgend? Controleer dit lokaal bijvoorbeeld met MailHog.
  • Wordt het bericht geweigerd door de filters voor geblokkeerde tekst, onderwerp of e-mailadres?
  • Mislukt de sessiecontrole bij een gecachte pagina of een anonieme inzending?
  • Vergeet niet dat de ontvanger email_to is, niet het e-mailadres van de gekoppelde gebruiker. Controleer of dit veld daadwerkelijk is ingevuld.

8.3 Verwarring rond de weergave

  • De drie niveaus van overerving met Tonen / Verbergen / Globale instelling gebruiken zorgen regelmatig voor verwarring. Controleer alle drie de niveaus.
  • Een lege contactpagina betekent vaak dat alles op Verbergen staat.
  • Aangepaste gebruikersvelden van een gekoppelde gebruiker worden alleen weergegeven als zowel de koppeling als de optie Gebruikersvelden tonen zijn ingeschakeld.

8.4 Privacy en gegevens

  • Een contact kan persoonsgegevens van een echte persoon bevatten, neem dit daarom op in je privacyverklaring.
  • De Privacy-plugin moet zijn ingeschakeld om contacten mee te nemen in AVG-verzoeken voor export en verwijdering.
  • E-mailafscherming beschermt de weergave op de website, maar het e-mailadres wordt nog steeds als platte tekst in de database opgeslagen.
Naar boven

9. Best practices

Als je maar een paar dingen uit dit artikel onthoudt, laat het dan deze zijn:

  • Maak eerst een categorie aan voordat je contacten toevoegt, elk contact moet aan een categorie gekoppeld zijn.
  • De ontvanger van het formulier is email_to, niet het e-mailadres van de gekoppelde gebruiker.
  • Beheers de drie niveaus van overerving met Tonen / Verbergen / Globale instelling gebruiken: stel standaardwaarden één keer in via Opties en overschrijf alleen waar nodig.
  • Koppel contacten aan gebruikers om profielen, auteursblokken en één centrale identiteit mogelijk te maken.
  • Schakel de Privacy-plugin in zodat contacten worden meegenomen in AVG-verzoeken voor export en verwijdering.
  • Indexeer filterkolommen bij grote directories en houd de categorieboom zo ondiep mogelijk.
Naar boven

10. In het kort

CONTACT       Componenten → Contactpersonen → Contactpersonen → Nieuw
CATEGORIE     Componenten → Contactpersonen → Categorieën (extension=com_contact)
WEERGAVE      Menu's → Nieuw → Contactpersonen → Enkel / Lijst / Uitgelicht / Categorieën
FORMULIER     Contact → tabblad Formulier → Contactformulier tonen (+ email_to)
ONTVANGER     email_to  (NIET het adres van de gekoppelde gebruiker)
GEBRUIKER     Contact.user_id → #__users.id
OVERERVING    Contact → Menu-item → Componentopties (Globale instelling gebruiken)
UITGELICHT    contactpersoon markeren met ster → menu-item Uitgelichte contacten
VCARD         allow_vcard → downloadbaar .vcf-bestand (VcfView)
LINKS         linka...linke (+ _name-labels), vijf velden
VELDEN        Componenten → Velden → Contactpersonen (aangepaste velden)
PLUGINS       contactcreator (onUserAfterSave), content/contact (auteursblok), finder, privacy
SPAM          CSRF-token (altijd) + geblokkeerde woorden + sessiecontrole + CAPTCHA
AFSCHERMING   Contentplugin Email Cloaking (standaard ingeschakeld)
ROUTER        src/Service/Router.php → SEF /contact//
OVERRIDE      templates//html/com_contact/contact/default.php
INDEXEN       catid, user_id, published, access, language
API           /api/index.php/v1/contact/contacts
TABEL         #__contact_details  (+ #__categories)
Naar boven

11. Samenvatting

Joomla Contacten is tegelijkertijd een gestructureerd adresboek en een contactformulier-engine, verborgen in het volle zicht. Zodra je het op die manier bekijkt, merk je dat je voor veel taken geen extra extensies nodig hebt omdat Joomla ze standaard al goed afhandelt.

Het biedt:

  • Structuur: getypeerde velden, een adresblok, vijf linkvelden en aangepaste velden.
  • Formulieren: e-mailformulieren per contact met ingebouwde bescherming tegen spam, zonder extra extensies.
  • Identiteit: koppel contacten aan gebruikers, maak automatisch profielen aan en toon auteursblokken.
  • Weergave: vier menuweergaven met overerving op drie niveaus via Tonen / Verbergen.
  • Integratie: een gedeelde categorieboom, ACL, Smart Search, Privacy en een REST API.
  • Privacy: e-mailafscherming plus AVG-export en verwijdering, standaard ingebouwd.

Of je nu een medewerkersoverzicht, een ledenlijst of gewoon een betrouwbare contactpagina wilt maken die berichten naar de juiste persoon stuurt, de component Contacten verdient een nieuwe blik. Het is het stille, degelijk gebouwde adresboek dat al die tijd onderdeel van Joomla is geweest.

Naar boven
Contact­­ personen in Joomla
Peter Martin
Peter Martin

Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.