Tijdens de ontwikkeling van OpenLucius bouwde ik aardig wat features, die in het product zijn ingebed (een open source Drupal distributie). Maar we dachten dat sommige hiervan handig kunnen zijn voor andere Drupal site-eigenaren om te gebruiken, buiten het Drupal install profile.
Dus hierbij de release die ik heb gedaan: Simple Like Button, een zeer simpele Drupal module die na twee stappen direct werkt:
- Installeer module
- Plaats block
- Klaar!
Features
- Direct feedback voor eindgebruikers: telling van Likes +1 of -1
- Voegt namen toe van gebruikers die de inhoud liketen
- Compatibel met alle custom Drupal entities en bundles
- Compatibel met alle 'authenticated' rollen, niet met 'anonymous'.
- Momenteel niet compatibel met Views (non-feature).
Gebouwd met een custom Drupal AJAX-form
Het is gebouwd met een custom AJAX form, dus we hoeven ons geen zorgen te maken over het bouwen van een custom AJAX-route, een CSRF-token en aangepaste JavaScripts om de gebruikersinteracties af te handelen.
Terwijl CSRF access control eruit ziet alsof het gemakkelijk kan worden geïntegreerd via xyz.routes.yml, ajax-form bleek eenvoudiger te implementeren.
Nadeel is dat alle formulieren in de cache kunnen worden opgeslagen en dat een site met een veel content kan leiden tot onnodig veel cache data.
Als je het niet eens bent met deze aanpak, laat het me dan weten in de reacties.
Dus als je op zoek bent naar een compact voorbeeld voor het implementeren van een AJAX-formulier, bekijk dan de code van deze module of het voorbeeld in deze blog.
Gebouwd met een custom Drupal entity
We gebruikten een Drupal entity voor data beheer:
- Het definiëren van het gegevensmodel en de databasetabel, eenvoudig te installeren.
- CRUD: de Create, Read, Update and Delete queries zijn eenvoudig als je met custom Drupal entities werkt.
Dus als je op zoek bent naar een compact voorbeeld van het implementeren van een custom entity, bekijk dan de code van deze module.
En als je het hier niet mee eens bent om hier een custom Drupal entity te gebruiken, laat het me dan weten in de reacties hieronder.
Download de module
Kijk dan op de projectpagina op Drupal.org
