Aktuelles über das MetaModels Projekt

Juli/August Infos

von Ingolf Steinhardt

Aktuelle Infos zu MetaModels aus dem Juli/August 2026...

MM-Infos Juli/August 2026

MM 2.4 für Contao 5.3

In den Monaten Juli und August lag der Schwerpunkt auf der Robustheit des Renderings, auf Filterregeln sowie auf mehreren gezielten Bugfixes in einzelnen Attribut- und Filterpaketen.

Rendering – der eigentliche Fehler wird nicht mehr maskiert

Ein hartnäckiger Bug: Schlug das Rendern eines Attributs fehl, versuchte MetaModels es automatisch ein zweites Mal mit den Standard-Rendereinstellungen zu rendern – übernahm dabei aber versehentlich den parent der ursprünglich fehlgeschlagenen Einstellung. Frisch erzeugte Standardeinstellungen haben aber gar keinen Parent, wodurch getParent() mit „Parent has not been set" abbrach und den eigentlichen Fehler komplett verschluckte. In einem konkreten Fall verbarg sich dahinter schlicht ein Text-Attribut mit einem Array als Wert („Array to string conversion"). Der Fix übernimmt den Parent nur noch, wenn tatsächlich einer vorhanden ist, und lässt einen Fehler im Fallback-Rendering die ursprüngliche Exception erneut werfen – damit landet ab sofort die echte Fehlermeldung im Log statt einer irreführenden Ersatzmeldung.

Filterregeln – korrekter URL-Parametertyp auch ohne Frontend-Widget

Der pro Filterparameter konfigurierte URL-Typ (z. B. „nur Slug" oder „nur GET-Parameter") wurde bisher nur bei Filterregeln mit eigenem Frontend-Filter-Widget berücksichtigt. Detailseiten-Filterregeln, die kein solches Widget besitzen, ignorierten die Konfiguration komplett und akzeptierten stillschweigend beide URL-Formen.

Picker – korrektes Label statt Listing-Icon-Spalte

Der Tree-Picker (u. a. bei attribute_select und attribute_tags) fragte bislang die Listing-Konfiguration der Zieltabelle ab, um die angezeigten Werte zu ermitteln. Bei Tabellen wie tl_member, deren Listing eine für das Icon reservierte Leerspalte an erster Stelle führt, blieb der Picker dadurch leer. Jetzt wird stattdessen die im Attribut konfigurierte Label-Spalte übergeben – sowohl bei attribute_select/attribute_tags als auch im DC-General selbst (siehe unten).

MySQL 8 – Fix in der Basic-Entities-Migration

In der ConvertBasicEntitiesMigration (betrifft attribute_longtext, attribute_text und ihre übersetzbaren Varianten) steckte ein zweistufiges Problem: Zunächst war die REGEXP-Prüfung nicht case-sensitiv, wie eigentlich vorgesehen. Der naheliegende Fix mit CAST(... AS BINARY) brachte die Case-Sensitivity zwar zurück, sorgte auf MySQL 8 aber für einen Absturz mit Error 3995. Die endgültige Lösung verzichtet auf das CAST und nutzt stattdessen COLLATE utf8mb4_bin – case-sensitiv und MySQL-8-kompatibel zugleich.

file-usage – zentraler Insert-Tag-Parser für Datei-Referenzen

Wir haben die Abhängigkeit auf die neue Version 4.1 von inspiredminds/contao-file-usage angehoben (Unterstützung für dessen ältere 3.x-Linie ist damit entfallen) und mehrere Attribute darauf umgestellt: attribute_contentarticle, attribute_longtext, attribute_tablemulti sowie deren übersetzbare Varianten nutzen jetzt den generischen InsertTagParser aus file-usage, statt Insert-Tags mit eigenen, selbst gepflegten Mustern zu erkennen (PR 22). Das bringt gleich zwei Vorteile mit: Es werden auch andere Insert-Tags als file, picture oder figure erkannt, sofern sie eine Datei-UUID referenzieren. Zudem hat zonky mit dem PR 21 den Support von Dateien ermöglicht, d. h. es werden auch Dateien wie CSS, JS, Templates durchsucht.

Merkliste (notelist) – Datenverlust für Gäste unter Contao 5 behoben

Der php-session-Adapter der Merkliste schrieb bisher direkt in $_SESSION. Das funktionierte unter Contao 4 nur deshalb, weil Contao dort $_SESSION über eine eigene Session-Bridge ersetzte – diese Bridge gibt es unter Contao 5 nicht mehr. Für nicht angemeldete Besucher ging dadurch jeder Merklisten-Eintrag verloren, sobald die Session neu geladen wurde. Der Adapter greift jetzt korrekt auf den Contao-Session-Dienst zu, eine Migration bringt bereits vorhandene Bestandsdaten in den richtigen Zustand.

translator-bridge – Übersetzen-Buttons für verschachtelte Inhaltselemente und den tableWizard

Bei verschachtelten Inhaltselementen (z. B. Kindelemente einer Akkordeon- oder Elementgruppe) fehlte bislang der Übersetzen-Button im Backend. Außerdem unterstützt die translator-bridge jetzt auch den tableWizard: Zellinhalte lassen sich darüber übersetzen, inklusive RTE-Unterstützung innerhalb der Tabellenzellen.

attribute_token – jetzt auch in Filtereinstellungen nutzbar

Das Token-Attribut ließ sich bisher nicht als Filterregel auswählen. Es ist jetzt bei den Filtereinstellungen registriert und kann wie andere Attribute zum Filtern von Listenansichten genutzt werden.

filter_by_related – neue Suchtypen für das Text-Widget

Das Text-Widget der Filterregel „Filter by related" konnte bisher nur nach exakter Übereinstimmung filtern. Es stehen jetzt zusätzlich die Suchtypen „enthält", „beginnt mit" und „endet mit" zur Verfügung.

DC-General – Picker-Label und label_callback

Auch im DC-General selbst gab es zwei zusammenhängende Fixes rund um den Picker: Zum einen griff die weiter oben beschriebene Label-Ermittlung bisher nur im normalen Listenmodus – bei einem Tree-Picker, der stets im Baummodus arbeitet, kam die Korrektur also nie zum Tragen. Zum anderen übergibt Contao seinen label_callbacks inzwischen die vorbereiteten Label-Felder als viertes Argument; der DC-General reichte bisher nur drei Argumente durch, wodurch Callbacks wie tl_member::addIcon() mit einem ArgumentCountError abstürzten und der Picker auf Tabellen wie tl_member oder tl_calendar_events komplett unbenutzbar war.

Ergänzend wurde eine Bedingungsprüfung für die Sichtbarkeit von Eigenschaften (PropertyVisibleCondition) robuster gemacht: Verwies eine Sichtbarkeitsbedingung auf eine Eigenschaft, die in der aktuellen Palette oder Legende gar nicht existiert, führte das bisher zu einem Absturz. Ein solcher Fall wird jetzt abgefangen und die Eigenschaft schlicht als nicht sichtbar behandelt.

 

MM 2.5 für Contao 5.7

Die MM Version für Contao 5.7 ist fertig und testen das nochmal eingehend bei Projekten vom MM-Team - ab etwa Oktober könnte dann der Roll-out über EAP erfolgen.

 

Spenden~1: Dank an die Spender für 2.4!

* AntwortInternet
* Prout at work
* Paus medien
* Eicher Online
* MAXKOM
* Concorde Reisemobile
* KikMedia
* Kinderwunschzentrum Berlin
* Johannes Bittner
* Klarika

 

Fundraising:

Aktuell Fundraisingprojekte:

  • Eigener DCA-Picker für Detailseiten MM 2.4 mehr...
  • Integration für Erweiterung "File usage" MM 2.4 mehr...
  • MetaModels-2-Isotope mehr...
  • Notelist/Merkliste MM 2.4 mehr...
  • Filterregel Filter-by-related mehr...
  • Cowegis-Layer für Karten mehr...
  • XLIFF-Ex-Import für Contao-Content und MetaModels mehr...
  • Translator-Bridge für DeepL & Co. mehr...
  • File-Metadata-Extractor mehr...

Spenden~1:
Notelist: Johannes Bittner

 

Handbuch, Webseite, Videos:

Beim Handbuch weiteren Anpassungen und Ergänzungen zu allgemeinen Infos, MM 2.4 sowie neuen Artikel usw. - s. o.

Wer das Handbuch unterstützen möchte hat die Möglichkeit über Github zu sponsoren oder eine Rechnung anzufordern.

Spenden~1: keine

 

Anmeldung zum Newsletter: hier...

~1: Geldspenden in "Netto" also abzgl. USt und PayPal, auf Euro gerundet

Newsletter abonnieren

Was ist die Summe aus 6 und 3?

Newsletter abmelden

Weitere MetaModels Kanäle