logo

Extra Block Types (EBT) - Nieuwe Layout Builder ervaring❗

Extra Block Types (EBT) - gestileerde, aanpasbare bloktypes: Slideshows, Tabs, Cards, Accordions en vele andere. Ingebouwde instellingen voor achtergrond, DOM Box, javascript-plugins. Ervaar vandaag al de toekomst van layout building.

Demo EBT-modules Download EBT-modules

❗Extra Paragraph Types (EPT) - Nieuwe Paragraphs ervaring

Extra Paragraph Types (EPT) - analoge op paragrafen gebaseerde set modules.

Demo EPT-modules Download EPT-modules

Scroll

Composer toevoegen aan een bestaande site

06/10/2025, by Ivan

Vereenvoudigd in Drupal 8.8.0

Opmerking: Als je je project bent begonnen met Drupal versie 8.8.0 of later, gebruikt je site al de juiste mappenstructuur en is deze klaar om te worden geconverteerd naar Composer.

Deze pagina is een stapsgewijze handleiding voor het handmatig toevoegen van Composer-ondersteuning aan een bestaande site die eerder zonder Composer is geïnstalleerd. Deze gids is voor jou als je Drupal 8 handmatig hebt geïnstalleerd vanuit een archief of een verouderde Composer-template hebt gebruikt, zoals drupal/drupal.

Voor sites die zijn gebouwd met Drupal 8.8.0 of later

Zelfs als je Drupal 8.8.0 vanuit een archief hebt geïnstalleerd, werd Composer vooraf meegeleverd. Daarom zou je je site met Composer moeten kunnen beheren zonder verdere conversiestappen.

Voor sites die zijn gebouwd vóór Drupal 8.8.0

Het bestand composer.json dat werd geleverd met archieven die vóór Drupal 8.8.0 van https://www.drupal.org/download werden gedownload, was niet bedoeld voor gebruik met een Composer-beheerde site.

Als je wilt overschakelen van handmatig beheer naar Composer om Drupal Core en contrib-modules te installeren en te updaten, moet je eerst het composer.json-bestand van je site aanpassen.

Veelvoorkomende Composer-foutmeldingen die op een onjuist composer.json-bestand kunnen wijzen:

Nothing to install or update (even though updates exist) 

Installation request for drupal/drupal No version set (parsed as 1.0.0) -> satisfiable by drupal/drupal[No version set (parsed as 1.0.0)]. 

don't install drupal/core 8.x.x | remove drupal/drupal No version set (parsed as 1.0.0) 

Your requirements could not be resolved to an installable set of packages.

Soms kunnen problemen met Composer-templates worden opgelost door het lock-bestand en de vendor-map te verwijderen (composer.lock en vendor/) voordat je Composer update, maar het omzetten van een bestaande Drupal 8-site naar het Composer-templateproject dat wordt aanbevolen in de Drupal 8-installatiehandleiding (3.5. Composer gebruiken om bestanden te downloaden en te updaten) is een duurzamere oplossing.

De tools gocomposer en composerize drupal proberen het conversieproces te automatiseren, maar handmatig converteren is vrij eenvoudig, zelfs voor grotere sites, en kost niet veel tijd.

Aan het einde van dit proces zal je project de aanbevolen mapstructuur hebben. De Composer-configuratie (composer.json, composer.lock, enz.), Drush en de vendor-map worden buiten je webroot geplaatst. Je oorspronkelijke webroot zal een nieuwe map web/ bevatten, waar de werkelijke site zich bevindt. Als je project momenteel een andere mappenstructuur gebruikt, moet je je webserverconfiguratie bijwerken zodat deze naar de nieuwe web/ map verwijst. We komen hier later op terug.

TL;DR?

  1. Installeer een nieuwe Drupal-site met behulp van het huidige Composer-template in een nieuwe map.
  2. Kopieer alle aangepaste thema’s, modules, bestanden en instellingen naar het nieuwe project (controleer de mappenstructuur goed).
  3. Migreer de instellingen naar het nieuwe project.
  4. Voeg alle benodigde modules toe aan het nieuwe composer.json-bestand en voer Composer-installatie uit.
  5. Voer database-updates en cache-opruiming uit (drush updb; drush cr)
  6. Werk de webserverconfiguratie bij.

VOLLEDIGE HANDLEIDING

In deze handleiding wordt ervan uitgegaan dat je bestaande website zich bevindt in /var/www/sites/html/ en dat je een nieuwe site maakt in /var/www/sites/new_html/. Pas deze paden aan naar je eigen situatie.

Voordat je begint

Als je van plan bent je oude Drupal-site te "composeriseren", zijn de core en contrib-modules waarschijnlijk niet op hun nieuwste versie. Als je deze gids volgt zonder updates, worden Drupal Core en alle modules bijgewerkt naar hun meest recente versies. Dat is waarschijnlijk wat je wilt, maar houd rekening met je siteconfiguratie. Zijn er redenen om bepaalde modules of core niet te updaten? Misschien heb je afhankelijkheden van oudere versies.

Als je alles wilt updaten naar de nieuwste versies, volg dan gewoon deze gids en los eventuele problemen na afloop op. Je zult mogelijk fouten of waarschuwingen zien vanwege nieuwere moduleversies — zoek de foutmeldingen op om te zien of er oplossingen zijn.

Als je liever je huidige versies behoudt en later Composer gebruikt om te upgraden, zorg er dan voor dat je dezelfde core- en moduleversies installeert als op je oude site. Zie de Composer-documentatie voor het installeren van een specifieke core-versie of een specifieke moduleversie. Vermeld de exacte versies in composer create-project of composer require (bijv. composer require vendor/package:version).

1. Installeer een nieuwe Drupal-site

Maak een nieuw Drupal-project aan met het drupal/recommended-project template:

cd /var/www/sites 
composer create-project drupal/recommended-project:~8.8.0 new_html --stability dev --no-interaction

Dit maakt een map new_html/ aan met daarin de mappen vendors en web (= webroot) plus composer.json en bijbehorende bestanden. Als je oude project een andere structuur had, zul je merken dat je nu drush en composer direct vanuit deze hoofdmap kunt uitvoeren.

Vroegere instructies verwezen naar drupal-composer/drupal-project, maar dat template is nu verouderd ten gunste van het officieel ondersteunde drupal/recommended-project.

2. Kopieer bestanden naar het nieuwe Composer-project

Opmerking: De volgende stappen zijn alleen nodig voor sites die vóór Drupal 8.8.0 zijn gemaakt.

Als je project ouder is dan Drupal 8.8.0, moet je nu je aangepaste modules, thema’s en bibliotheken van de oude map naar het nieuwe project kopiëren. Plaats de bestanden in de juiste mappen van je nieuwe project, aangezien je oude structuur anders kan zijn.

De juiste paden kun je vinden in het gedeelte “installer-paths” van je composer.json:

"extra": {
    "installer-paths": {
        "web/core": ["type:drupal-core"],
        "web/libraries/{$name}": ["type:drupal-library"],
        "web/modules/contrib/{$name}": ["type:drupal-module"],
        "web/profiles/contrib/{$name}": ["type:drupal-profile"],
        "web/themes/contrib/{$name}": ["type:drupal-theme"],
        "drush/Commands/{$name}": ["type:drupal-drush"]
    }
}

In je oude site stonden modules waarschijnlijk in /var/www/sites/html/modules/. Op de nieuwe site moeten ze staan in /var/www/sites/new_html/web/modules/.

  • Aangepaste thema’s: /var/www/sites/new_html/web/themes/custom/
  • Aangepaste modules: /var/www/sites/new_html/web/modules/custom/
  • Bibliotheken: /var/www/sites/new_html/web/libraries/
  • Uploads en afbeeldingen: /var/www/sites/new_html/web/sites/default/files/

Controleer dat de webserver schrijfrechten heeft op de map files. Lees Beveiliging van bestandsrechten en eigendom voor meer informatie.

sudo chown -R vftp:www-data /var/www/sites/new_html/web/sites/default/files
sudo find /var/www/sites/new_html/web/sites/default/files -type d -exec chmod u=rwx,g=rwx,o= '{}' \;
sudo find /var/www/sites/new_html/web/sites/default/files -type f -exec chmod u=rw,g=rw,o= '{}' \;

Als je tijdelijke mappen (php/, js/, styles/, css/) hebt gekopieerd, verwijder deze handmatig. Ze worden opnieuw aangemaakt na cache-herbouw (drush cr).

3. Migreer settings.php naar het nieuwe project

Kopieer je databaseverbinding en andere instellingen ($databases, $settings['hash_salt'], $settings['trusted_host_patterns'], enz.) van het oude settings.php-bestand naar het nieuwe. Controleer ook de locatie van $config_directories['sync'] en zorg dat deze bestaat en beschrijfbaar is. Vergeet niet ook je settings.local.php en development.services.yml-bestanden te kopiëren.

4. Voeg modules toe aan de nieuwe Composer-configuratie

Voeg alle modules toe aan het nieuwe composer.json-bestand. Je kunt dit handmatig doen of met composer require drupal/<module>.

5. Update database en wis cache

Voer database-updates uit met drush updb en wis de cache met drush cr.

6. Werk je webserverconfiguratie bij

Laat je webserver verwijzen naar de nieuwe webroot, bijvoorbeeld /var/www/sites/new_html/web/. Vergeet niet PHP-FPM of Apache/Nginx te herstarten na aanpassingen.

7. Problemen oplossen

  • Waarschuwingen of fouten op de statuspagina? Controleer modules en compatibiliteit.
  • Hash Salt ontbreekt: kopieer het uit je oude settings.php of genereer een nieuwe:
drush php-eval 'echo \Drupal\Component\Utility\Crypt::randomBytesBase64(55) . "\n"'

Voeg de gegenereerde waarde toe aan $settings['hash_salt'] in je nieuwe settings.php.