Weesperstraat 61-105
1018 VN Amsterdam
The Netherlands

Een rich text editor in een custom drupal form | voorbeeld code inclusief data opschonen voor security

20 Aug, 2020 Drupal
Drupal rich text editor custom form

Enkele maanden geleden moest ik een rich text editor in een custom Drupal form implementeren (voor de Drupal intranet distributie OpenLucius). En kon niet meteen een volledig werkende oplossing vinden online, maar uiteindelijk is het me gelukt. Dus voor iedereen die een rich text editor nodig heeft: hier is voorbeeldcode.

Zie de Drupal form file met de code in onderstaand voorbeeld. Dit is geen installeerbare module, maar een mockup bestand dat in 'your_module/src/Form' leeft. Meer info over custom forms.

Dit formulier gebruikt Dependency Injection for a Form om een custom Drupal Service te implementeren.

Belangrijkste Drupal code uitgelegd

De rich text editor beschikbaar maken voor eindgebruiker

Dit is alles wat je nodig hebt om de editor werkend te krijgen, ervan uitgaande dat je een (standard) Drupal install hebt, waarin het 'basic_html' filter bestaat. Een Drupal Minimal install heeft deze niet, maar uiteraard kan je ook je eigen Text Format configureren en die gebruiken in dit custom form.

Tekst invoer afhandelen: submit in custom Drupal form

  1. Haal de ingevoerde body-text op via $form_state->getValue('body')['value'];. Het deel ['value'] koste mij enig research.
  2. Voor veiligheidsredenen wordt hier de data opgeschoond met behulp van check_markup($body,'basic_html');. Drupal 9's filter.module biedt deze functie -die we op een procedurele manier kunnen gebruiken hier.
  3. / 4. Ik heb de 'edit' mode grof ge-stubbed. Als je die wilt implementeren, dan is dit een voorbeeld hoe je kan switchen tussen opslaan van een nieuwe entity en updaten van een bestaande.

Wrap up

Ok, that's it for now. Het is niet uitgebreid maar hopelijk wel waardevol voor als je een rich text editor in je custom Drupal form wilt implementeren.

Written by Joris Snoek | Aug 20, 2020
Drupal project? Let's Talk

Vertel mij over jullie project, ik hoor het graag.
Mail , of stuur een bericht:

Got some more time?

Related content

09 Oct 2026 Drupal

Er gebeurt ontzettend veel in AI- en Drupal-land. Very exciting, bijna niet meer bij te houden. Ik was al een tijdje van plan om serieus aan de slag te gaan met *agentic coding*. Ik voel me een beetje *late to the party*, maar tegelijkertijd heb ik het idee dat veel organisaties nog geen flauw…

Lees meer →

26 Sep 2026 Drupal

AI als programmeer partner

Een verzoek van een product owner: zijn Drupal website heeft een content-type 'Evenement'. De redactie wil op de homepage een blok met de eerstvolgende drie evenementen tonen. De initiële wens en AI prompt: > “Maak een Drupal block dat de eerstvolgende drie evenementen toont, gesorteerd op…

Lees meer →

26 Aug 2026 Drupal

Met nieuwe functies als: @-mentions, drag-drop afbeeldingen & algemene instellingen.

Vorige week hebben we een nieuwe versie van OpenLucius uitgebracht: een alles-in-een 'social collaboration' platform, met functies als: groepen, social posts, berichten, groep-chats, stories, bestands- en map beheer, notebooks, activity streams, notifications, @-mentions, reacties en likes. …

Lees meer →