Drupal-Voting-API: Einzelsummen für Sternebewertungen

Die Tage musste ich mal wieder etwas basteln, um im Umfeld einer Sternebewertungs-Funktion bei Drupal etwas zu erreichen, was ich als Feature einfach erwartet hätte. Da es sicher nicht nur mir so geht wollte ich das mal kurz aufschreiben. Das Problem: Wie bekommt man die Anzahl an Bewertungen pro abgegebenem Stern?

Das Projekt läuft mit Drupal 10.2.7, aber die eingesetzten Module sind schon länger im gleichen Zustand. … Weiterlesen

Seite springt beim Tippen in einem Textfeld

Gestern hatte ich mal wieder ein Problem, das auf den ersten Blick schwer verständlich war. Am Ende ergab alles Sinn, und weil der Fehler leicht zu machen ist, schreibe ich das hier mal auf.

Es gab Nutzerberichte, denen zufolge eine Seite mobil nicht zu benutzen sei. Genauer genommen ging es um ein Formular. Sobald man in einem Formularfeld etwas tippte, sprang die Seite, so dass man das … Weiterlesen

Drupal: Label eines Views Exposed Filter Forms ändern

Heute mal wieder ein Beitrag aus der Drupal-Hölle. Ich arbeite nun seit einem Jahr mit Drupal und bin immer noch fasziniert, wie unglaublich aufwändig selbst die simpelsten Dinge sein können. Über die letzten Jahre ist Drupal einfach krass komplex geworden. Es hilft auch nicht, dass es Drupal seit 23 Jahren oder so gibt und man entsprechend viele veraltete Tutorials und Foreneinträge findet.

Ich habe eine View, nennen … Weiterlesen

Drupal: Ergebnis eines Autocomplete-Feldes anpassen

In einer Drupal 9.5-Installation nutzen wir das Group-Modul. Damit kann man Themenräume umsetzen, denen man dann Benutzer und Inhalte hinzufügt. Bisher konnte jeder Inhalt mehreren Themenräumen zugeordnet werden. Gewünscht war nun, dass jeder Inhalt immer nur in einer Gruppe verlinkt sein kann. Wenn man den Gruppentyp bearbeitet und auf dem „Inhalt“-Tab den entsprechenden Inhaltstyp konfiguriert (für Gruppentyp „unit“ und Inhaltstyp „News“ z.B. „admin/group/content/manage/unit-group_node-news“), kann man dort … Weiterlesen

Script zum Vergleichen zweier SQL-Dumps

Aktuell stellte sich das Problem, dass aus Versehen Dateien gelöscht wurden. Das Log gab keine Details her, aber es existierten tägliche SQL-Dumps der Datenbank. Ich habe dazu ein Script geschrieben, welches diese Dumps nimmt, auf die relevanten Zeilen kürzt und diese vergleicht. Da das vielleicht auch mal jemand anderes gebrauchen kann (oder mein Zukunfts-Ich) poste ich das Script mal hier. Voraussetzungen: Die SQL-Dateien liegen im gleichen Ordner und heißen nach … Weiterlesen

Drupal: Übersetzungen von Contrib-Modulen laden

Verfügbare Aktualisierungen für Übersetzungen

Die letzte Zeit über hat mich ein Problem beschäftigt, das mich ein klein wenig verrückt gemacht hat und dessen Lösung so versteckt war, dass ich das auf jeden Fall für den Rest der Welt aufschreiben wollte. Ich arbeite hier mit einer Drupal-Installation, und in dieser wurden schlicht deutsche Übersetzungen der Contrib-Module nicht geladen!

Eine Drupal-Installation (Version 9.3.14) mit verschieden Contrib-Modulen und zwei Sprachen, English als Default und … Weiterlesen

Drupal Search API: Einen zweiten Solr-Core unter DDEV einrichten

Kürzlich hatte ich die Aufgabe, auf einer Drupal-Seite einen zweiten Solr-Core einzurichten. Da ich mich damit doch etwas schwer getan habe, wollte ich den Weg hier mal aufschreiben. Vielleicht hilft es ja mal jemandem.

Die Drupal-Seite nutzt Drupal 9.3.14 und die Module „Search API“ und „Search API Solr“, um eine Suche über den Seiteninhalt anzubieten. Das ist alles nicht zu schwer einzurichten. Lokal arbeite ich mit der … Weiterlesen

Oracle: Number zu String casten

Gestern und heute hat mich ein Bug beschäftigt, der gerade mal wieder sehr schön illustriert, was ich an Oracle als DBMS hasse. Die Fehlermeldung, welche ein Test plötzlich ausspuckte, sah so aus: oci_execute(): ORA-00906: missing left parenthesis Wie immer: Keine Details, wo genau er aufgetreten ist, aber die Meldung ist ja immerhin halbwegs klar. Dachte ich jedenfalls, und fing an, Klammern in den betroffenen Code-Bereichen zu zählen. Nach etwas Mühe … Weiterlesen

Bug des Tages

Gestern habe ich viel zu lange darauf verwendet, einen kniffligen Bug zu suchen. Am Ende stellte es sich heraus, dass ich es geschafft hatte, einen Bug zu produzieren, der genau einmal im Jahr zuschlägt: Am Tag nach der Zeitumstellung auf Sommerzeit! Was hatte ich gemacht? Ganz vereinfacht sah der PHP-Code so aus: Es ging darum, Testdaten für eine komplexe Statistikberechnung zu erzeugen. Die Testdaten waren der Einfachheit halber immer relativ … Weiterlesen

Substr Oracle vs. Postgres

Wir verwenden auf der Arbeit eigentlich schon immer bei der Oracle-Funktion „SUBSTR“ als Start-Index die 0, wenn wir vorne am String anfangen wollen. Analog zu PHP, wo das ja auch so ist. Das klappt unter Oracle auch. Da wir gerade mit Postgres als DBMS experimentieren, habe ich nun aber herausgefunden, dass das unter Postgres nicht funktioniert, und zwar auf subtile Weise. Unter Postgres passiert das hier, wenn man versucht … Weiterlesen