Sektion Anzeigezeitraum ändern über Datenbank

Hallo,

wir haben sehr viele CMS-Sektions die ein bestimmtes Enddatum im Bereich “Anzeigen von … bis” gesetzt haben. Dies funktioniert ja grundsätzlich gut.

Problem: Jetzt soll eine Aktion vorzeitig beendet werden, d.h. das Endddatum muss für alle Sektionen mit einem bgestimmten Enddatum geändert werden.

Frage: Gibt es hier eine einfache, zeitsparende Möglichkeit dies zu ändern? Evtl. über die Datenbank? Da das ganze in custom fields („showUntil“: „2025-04-28T00:00:00“) steht, wird das nicht zu einfach sein.

Hat jemand eine Idee?

Das sollte einfach über die Datenbank zu regeln sein. Ich habe das Query NICHT geprüft, bitte selbst nachsehen, ob das Sinn ergibt. ChatGPT sagt (und denkt es ist in config, anstatt in customFields, wie du es sagst). Prinzip mit SQL Replace bleibt aber gleich:

UPDATE cms_slot
SET config = REPLACE(config, '"showUntil":"2025-04-28T00:00:00"', '"showUntil":"2025-12-31T00:00:00"')
WHERE config LIKE '%"showUntil":"2025-04-28T00:00:00"%';

bzw.

UPDATE cms_block
SET config = REPLACE(config, '"showUntil":"2025-04-28T00:00:00"', '"showUntil":"2025-12-31T00:00:00"')
WHERE config LIKE '%"showUntil":"2025-04-28T00:00:00"%';

Danke für die schnelle Antwort.

Ich habe das jetzt mal auf die custom_fields umgeschrieben:

UPDATE cms_section
SET custom_fields = REPLACE(custom_fields, ‚„showUntil“:„2025-12-03T00:00:00“‘, ‚„showUntil“:„2025-12-02T00:00:00“‘)
WHERE custom_fields LIKE ‚%„showUntil“:„2025-12-03T00:00:00“%‘;

Leider greift die Abfrage nicht. > “0 rows affected”

Ist das ein Plugin oder eine neuere Shopware Version. Ich sehe momentan im CMS keine Möglichkeit so etwas einzustellen.