Ga naar hoofdinhoud

Modules API

De Modules API biedt endpoints voor het beheren van site modules in Joomla.

Base URL

/api/index.php/v1/modules

Endpoints Overzicht

MethodeEndpointBeschrijving
GET/modules/siteAlle site modules ophalen
GET/modules/site/{id}Specifieke module ophalen
POST/modules/siteNieuwe module aanmaken
PATCH/modules/site/{id}Module bijwerken
DELETE/modules/site/{id}Module verwijderen

Alle modules ophalen

GET /api/index.php/v1/modules/site

Response

{
"data": [
{
"type": "modules",
"id": "1",
"attributes": {
"title": "Hoofdmenu",
"module": "mod_menu",
"position": "sidebar-left",
"published": 1,
"access": 1,
"showtitle": 1,
"language": "*",
"note": ""
}
}
]
}

Specifieke module ophalen

GET /api/index.php/v1/modules/site/{id}

Parameters

ParameterTypeBeschrijving
idintegerModule ID

Voorbeeld

curl -X GET "https://jouwesite.nl/api/index.php/v1/modules/site/1" \
-H "X-Joomla-Token: JOUW_API_TOKEN"

Module aanmaken

POST /api/index.php/v1/modules/site

Request Body

{
"title": "Mijn Custom Module",
"module": "mod_custom",
"position": "sidebar-right",
"published": 1,
"access": 1,
"showtitle": 1,
"language": "*",
"note": "Custom HTML module",
"params": {
"content": "<p>Dit is custom HTML content</p>"
}
}

Verplichte velden

VeldTypeBeschrijving
titlestringTitel van de module
modulestringModule type
positionstringTemplate positie

Optionele velden

VeldTypeStandaardBeschrijving
publishedint1Publicatiestatus
accessint1Toegangsniveau
showtitleint1Titel tonen (0=nee, 1=ja)
languagestring"*"Taalcode
notestring""Notitie
orderingint0Volgorde
paramsobjectModule specifieke parameters

Voorbeeld

curl -X POST "https://jouwesite.nl/api/index.php/v1/modules/site" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Welkom Bericht",
"module": "mod_custom",
"position": "banner",
"published": 1,
"showtitle": 0,
"params": {
"content": "<h2>Welkom op onze site!</h2>"
}
}'

Module bijwerken

PATCH /api/index.php/v1/modules/site/{id}

Request Body

{
"title": "Bijgewerkte Module",
"position": "footer",
"published": 0
}

Voorbeeld

curl -X PATCH "https://jouwesite.nl/api/index.php/v1/modules/site/1" \
-H "X-Joomla-Token: JOUW_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Bijgewerkte Module Titel"
}'

Module verwijderen

DELETE /api/index.php/v1/modules/site/{id}

Voorbeeld

curl -X DELETE "https://jouwesite.nl/api/index.php/v1/modules/site/5" \
-H "X-Joomla-Token: JOUW_API_TOKEN"

Module States

WaardeStatus
-2Prullenbak
0Niet gepubliceerd
1Gepubliceerd

Veelgebruikte Module Types

ModuleBeschrijving
mod_menuMenu module
mod_customCustom HTML
mod_articles_latestLaatste artikelen
mod_articles_popularPopulaire artikelen
mod_articles_categoryArtikelen uit categorie
mod_breadcrumbsBroodkruimelpad
mod_loginLogin formulier
mod_searchZoekformulier
mod_tags_popularPopulaire tags
mod_footerFooter informatie

Template Posities

Template posities variëren per template. Veelvoorkomende posities:

PositieBeschrijving
bannerBanner gebied
sidebar-leftLinker zijbalk
sidebar-rightRechter zijbalk
top-aBoven content
bottom-aOnder content
footerFooter
debugDebug positie

Filtering

Op positie

GET /api/index.php/v1/modules/site?filter[position]=sidebar-left

Op module type

GET /api/index.php/v1/modules/site?filter[module]=mod_menu

Op publicatiestatus

GET /api/index.php/v1/modules/site?filter[published]=1

Module Parameters

Elke module type heeft eigen parameters. Hier een voorbeeld voor mod_articles_latest:

{
"title": "Laatste Nieuws",
"module": "mod_articles_latest",
"position": "sidebar-right",
"params": {
"catid": ["2"],
"count": 5,
"show_author": 0,
"show_date": 1,
"show_category": 1
}
}

Modules kunnen worden toegewezen aan specifieke menu-items. Dit gebeurt via het assignment veld:

WaardeBetekenis
0Op alle pagina's
-1Op geen enkele pagina
1Alleen op geselecteerde
info

Menu-toewijzing via de API is complex. Gebruik bij voorkeur de Joomla administrator interface voor geavanceerde toewijzingen.