WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 14.01.2026 14:37:21

kleo
Member

Modifikationssystem

Bei einigen CMS gibt es Möglichkeiten die Core- und Modul-Dateien zu modifizieren, OHNE die Originaldateien zu verändern.
Es funktioniert so, dass das System an der Stelle von Original-dateien die modifizierte Dateien verwendet, die Originaldateien bleiben dabei unverändert. Der Hauptvorteil dieser Lösung besteht darin, dass bei jedem Update des Systems die benutzerspezifische Änderungen nicht verloren gehen und wirken weiter, soweit der Originalcode bei Updates nicht generel verändert wird.
Es funktioniert in der Regel so:

  • man definiert die Originaldateien, die modifiziert werden sollen

  • man gibt an, an welcher Stelle im Originalcode was modifiziert werden soll
        (z.B. nach der Zeile *** folgende Zeilen einfügen, oder die Zeilen *** durch neue Zeilen ersetzen)

  • das MOD-Modul erstellt die modifizierten Dateien, die von System an der Stelle von Originaldateien verwendet werden

  • wenn das Modul keine Datei oder Stelle findet, die modifiziert werden soll, werden keine modifizierten Dateien erstellt oder verwendet

  • das gilt auch nach Updates.


Ich glaube, so was wäre für WBCE auch von Vorteil, besonderes, wenn man mehrere Webseiten betreut und verschiedene (auch kleine!) Änderungen dabei macht.

Offline

#2 14.01.2026 18:10:48

chipz
Member

Re: Modifikationssystem

Das kommt mir bekannt vor, glaube aus OpenCart. Fand ich auch super.

Offline

#3 14.01.2026 19:36:51

florian
Administrator

Re: Modifikationssystem

Es gibt zumindest für das Anmelde/Registrierprocedere ganz rudimentär overrides.
https://github.com/WBCE/WBCE_CMS/blob/m … nfo_EN.txt

Um sowas flächendeckend und tiefergreifend einzuführen, müsste, fürchte ich, der Code komplett umgeschrieben werden, und viel systematischer mit Namespaces usw. strukturiert werden. Dafür ist die Personaldecke leider zu dünn.


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#4 18.01.2026 14:25:28

kleo
Member

Re: Modifikationssystem

Ich spiele mit den Gedanken weiter...

Wäre es villeicht möglich das Ganze zuerst auf die Modulle zu beschränken?
Wenn ich richtig verstehe, wird jedes Modul beim Aufruf irgendwie "initialisiert".
Kann vielleicht an dieser Stelle so ein Modifikationsystem eingreifen?

D.h. beim Moduleaufruf wird zuerst geschaut, ob z.B. in einem separaten Ordner die Modifizierte Dateien eines Moduls vorhanden sind. Wenn ja, werden diese verwendet, wenn nein, gilt der Pfad zum originellen Modulverzeichnis.

Wi funktioniert es überhauprt bei WBCE mit den Modullen?

Offline

#5 18.01.2026 18:03:12

florian
Administrator

Re: Modifikationssystem

Das verstehe ich jetzt nicht so ganz. Du kannst Module entweder direkt modifizieren oder dir Abwandlungen von Modulen programmieren. Und dann diese statt der ursprünglichen Module verwenden. Klar - wenn es Updates gibt, müssen die Änderungen dann von dir manuell übernommen werden, aber so häufig kommt das nicht vor.

Viele Module sind auch bedauerlicherweise mehr oder weniger verwaist, d.h. du könntest sie zukünftig exklusiv weiterentwickeln.
Die Lizenz gibt das her.

Wenn modifizierte parallel zu den ursprünglichen Modulen installierbar sein sollen, ist es etwas komplizierter, weil dann Modulname, -verzeichnis und vor allem Datenbanktabellen entsprechend umbenannt werden müssen. Das ist vielleicht mit KI-Unterstützung auch nicht mehr so ein aufwändiger und fehleranfälliger Fummelkram wie bisher.

Vielleicht verstehe ich dich auch nicht richtig. Gibt es irgendeinen konkreten Anpassungswunsch an einem Modul?

Edit: Allgemein zu Modulen siehe
https://help.wbce.org/pages/de/module-programmieren.php

Last edited by florian (18.01.2026 18:04:50)


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#6 18.01.2026 20:39:52

kleo
Member

Re: Modifikationssystem

Ein Beipsiel.
Ich finde das Modul Frontend Final CSS Editor ganz toll.
Man macht Änderungen an Stylen OHNE die Originaldateien zu verändern.

Wann verwendet man dieses Modul? Am meisten, um die Styles des einzelnen Modullen anzupassen. Oder des zu verwendeten Template, aber selten, weil Tempalte ist in der Regel schon nach Wünschen angepasst und wird sehr selten geupdatet.
Aktualisiert man die Module (oder auch Template) werden die Anpassungen in der Regel erhalten.

Sowas wäre meiner Meinung nach auch für die anderen Dateien sinnvoll.
Wie man es umsetzt ist eine andere Frage.

Bei OpenCart ist es z.B. so:

https://docs.opencart.com/en-gb/extensi … fications/

Deshalb war meine Überlegung, ob es auch bei WBCE so was änliches möglich wäre.

Man kann natürlich nach den Updates alles auch wieder manuell anpassen. Das Problem ist, dass bei mehreren zu betreuten Webseiten die Änderungen am Code meistens unterschidlich sind. Man muss sich merken, bei welcher Seite wo, was geändert wurde.

Beispiel: an einer Webseite war ich gezwungen eine Erweiterung für den CKEditor zu installieren und die config-Datei des Editors dementsprechend zu ändern. Ich habe neulich WBCE bei dieser Webseite updated, die Erweiterung war weg, weil die config-Datei überschrieben war.
Bei den anderen Webseiten waren NWI, Minigalery, Minihero von einzelnen Anpassungen betroffen...

Last edited by kleo (18.01.2026 20:40:19)

Offline

#7 19.01.2026 07:33:26

florian
Administrator

Re: Modifikationssystem

Hallo Kleo,

da kommt ein bisschen was durcheinander.

Mittels des Frontend Final CSS Editors die Template- oder Modulformatierungen anzupassen, ist etwas völlig anderes, als Schnittstellen zu implementieren, um Core- und/oder Modulfunktionen anzupassen. CSS ist von Haus aus dafür gedacht (das C in CSS).

Für Anpassungen am CKEditor wiederum gibt es bereits eine updatesichere Logik.
https://github.com/WBCE/CKEditor/tree/d … e-ckeditor

Welche Möglichkeiten es bereits gibt:
- eine include.php im Templateverzeichnis
- Programmieren von eigenen Outputfiltern und Installation als Modul- oder Plugin-Filter
- Private Funktionen in mpform (siehe Doku des Moduls nach Installation)

Was aber in der Tat ein Ansatz zumindest hinsichtlich Modulen wäre, dass
- sowohl die view.php als auch z.B. eine view.private.additional.php geparst werden
- anstatt der view.php eine view.private.final.php geparst wird
und in den .private-Dateien dann entsprechend functions.private.php usw. geladen werden.
Dafür müsste es ausreichen, die Funktion get_section_content und ein, zwei Droplets entsprechend zu erweitern.

Wenn dir damit geholfen wäre, könntest du das ja mal versuchen, so umzusetzen.


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

Board footer

up