Mr Treublaan 1-3
1097 DP Amsterdam
The Netherlands

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

20 Aug, 2020 Drupal

Home Blog Een rich text editor in e...

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
Let's Talk

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

Got some more time?

Related content
26 May, 2021 Drupal

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


06 Apr, 2021 Drupal


17 Aug, 2020 Drupal

Een Drupal Module Voorbeeld Inclusief Twig Template.


03 Aug, 2020 Drupal