Drupal

Fix module config with drupal/core-composer-scaffold

Scenario:
You install a contrib module that supplies configuration via config/install, but the configuration does not match with your system setup. This may result in a ugly (though not breaking) error during installation of your project. You can repair this later on by importing the correct config (for example via drush cim --partial), but the error during installation of the project will persist.

Drupal Entity Extra Field - mind the container

You can add an extra field to a Drupal entity via hook like it is described here: https://gorannikolovski.com/blog/display-and-form-pseudo-fields-drupal-8...

There is one caveat to this explanation. If you use field groups to group such extra fields you need to put them into a container (at least for the form extra fields), otherwise they will not show inside the field group.

So instead of this

Drupal 8 Modal Dialog mit Field Group Tabs (Details)

Kürzlich stand ich vor folgendem Problem:

In Drupal 8 wurde ein Entity Browser als Modal verwendet. Im Entity Browser wurden die Entities bei der Bearbeitung in einem Form View Mode dargestellt bei dem auch Field Groups (Typ Tab) zum Einsatz kamen um Felder zu gruppieren. Die Tabs waren per Default eingeklappt. Wenn man nun einen Tab ausgeklappt hat, rutschte der Speichern-Button unter Umständen außerhalb des Browser-Viewports und war nur noch erreichbar wenn man den Tab wieder einklappte. Dieses Verhalten liegt daran, dass die CSS-Größenwerte (max-height) beim Öffnen des Modals basierend auf dem sichtbaren Inhalte kalkuliert werden. Wenn ein Tab ausgeklappt wird verändert sich die Größe des sichtbaren Inhalts und dann müsste die Kalkulation eigentlich aktualisiert werden. Das ist allerdings nicht der Fall.

Als Lösung stoße ich das Resizing über ein kleines Javascript beim Togglen der Tabs neu an

erster Acquia Certified Developer - Drupal 9 (zertifizierter Drupal 9 Entwickler) in Deutschland

Heute habe ich das Examen "Acquia Certified Developer - Drupal 9" abgelegt. Das Examen ist noch relativ frisch (seit Anfang Juli 2020 verfügbar). Stand heute sind 41 Personen in der "Certification Registry" als "Drupal Certified Developer - Drupal 9" verzeichnet. Ich bin damit die erste Person aus Deutschland die als "Acquia Certified Developer - Drupal 9" (zertifizierter Drupal 9 Entwickler) gelistet ist.

erster "Acquia Certified Developer - Drupal 9" in Deutschland

Drupal 8 Service und IDE Autocompletion

Wenn man sich in Drupal einen Service auf die übliche Art und Weise holt, z. B. so:

// Returns a Drupal\Core\Datetime\DateFormatter object.
$date = \Drupal::service('date.formatter');

Dann hat man keine Autocompletion-Funktionalität in der IDE (hier phpstorm), wie man das sonst bei anders instanzierten Klassen nutzen kann.

Um auch hier Autocompletion nutzen zu können, kann man den Variablen-Typ per Kommentar (für die IDE) definieren, z. B. so:

Seiten