Mein Problem mit statischen Gutenberg-Blöcken

Bei Gutenberg-Blöcken gibt es zwei Möglichkeiten: entweder wird das Block-Markup direkt beim Speichern eines Inhalts generiert und fertig in der Datenbank gespeichert (statisch). Oder es wird nur der Block-HTML-Kommentar in der Datenbank gespeichert, gegebenenfalls mit Attributen, und dann vor der Anzeige im Frontend das Markup dynamisch generiert.

Theoretisch sind dynamische Blöcke für Fälle wie Anzeige der letzten Beiträge gedacht, und statische für alle anderen Fälle, wo sich nichts ändern soll, ohne das bei dem Block etwas geändert wird. Allerdings gibt es bei den statischen Blöcken ein ziemlich großes Problem.

Markup-Änderung bei einem statischen Block? Besser nicht 🙈

Wenn das Markup geändert werden soll, das ein statischer Block generiert, dann gibt es ein Problem: die Änderung am Block ist zwar vielleicht recht schnell gemacht, aber das Markup von bereits eingebauten Blöcken ändert sich dadurch nicht.

Wenn ein Inhalt mit so einem Block bearbeitet wird, geht der Block kaputt, weil Gutenberg das neue Markup erwartet und nicht das alte. Dafür gibt es eine Lösung: Bei der Block-Entwicklung können veraltete Versionen von Blöcken angegeben werden, aber das ist natürlich zusätzliche Arbeit. Und darüber hinaus müsste jeder Inhalt aktualisiert werden, der den Block bereits enthält, damit im Frontend überall das neue Markup verwendet wird.

Kurz: wenn sich das Markup eines statischen Blocks ändert, ist, je nachdem wie häufig der Block schon im Einsatz ist, einiger Mehraufwand nötig.

Bis vor Kurzem war ich trotzdem ein Freund davon, Blöcke soweit möglich als statische Blöcke umzusetzen. Die Einstellung hat sich aber geändert, es waren zu oft Markup-Änderungen nötig, die sich bei dynamischen Blöcken innerhalb von ein paar Minuten umsetzen ließen, bei statischen Blöcken aber mindestens ein »Wir müssen für alle schon verbauten Blöcke dann einmal die Blockwiederherstell-Funktion nutzen« zur Folge hatte, wenn man sich auf die Änderung des Markups ohne das Definieren einer veralteten Version beschränken konnte.

Jetzt werden dynamische Blöcke mein Normalfall, das spart einiges an Aufwand und Nerven. Wenn das Markup im Frontend geändert werden soll, muss nur eine PHP-Datei angepasst werden und die Änderung ist überall live, ohne dass im Backend Blöcke kaputt gehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.