Änderungen an bestehenden Dateien durch neues Modul

Diskussionen zur neuen Modulschnittstelle von ConPresso 4.
Achtung: Bitte nicht für modulspezifische Themen verwenden.
Antworten
stefann
ConPresso-User
Beiträge: 34
Registriert: 31.07.2006 09:33
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Änderungen an bestehenden Dateien durch neues Modul

Beitrag von stefann »

Ich bin grade dabei ein kleines Modul zu schreiben um mich mit dem Thema besser vertraut zu machen.
Mit dem Modul soll man unter dem Punkt "Navigation bearbeiten" eine neue Bearbeiten-Funktion erhalten, nämlich "Sichtbar/Unsichtbar".

Im Prinzip funktioniert auch schon alles, nur musste ich dazu u.a. in der Datei navigation_list.inc.php ein Code-Schnippsel einfügen. Diesen habe ich jetzt ausgegliedert und binde ihn so ein:

Code: Alles auswählen

if (isset($GLOBALS['modules']['mod_naviOptions']))
	include "../".$GLOBALS['modules']['mod_naviOptions']['directory']."/includes/navigation_list.inc.php";
Funktioniert auch. Nur finde ich das ganze ziemlich unschön! Zumal noch in weitere Dateien eingegriffen wird. Gibt es da keine schönere Möglichkeit? Bzw. würde mich Interessieren wie das andere machen?!

Grüße
Stefan Nowak
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Ich mache das folgendermaßen: http://community.conpresso.de/viewtopic ... ackendnavi

Balu hatte dazu mal einen Mechanismus irgendwo veröffentlicht, mit dessen Hilfe kann man neue Navigationspunkte zwischen andere hängen. Diesen habe ich hier teilweise benutzt und etwas erwitert.

Nach einen kleinen Erweiterung könnte man damit auch Navigationspunkte ausblenden/entfernen.

Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7084
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal
Kontaktdaten:

Beitrag von MarkusR »

Er meint was anderes!

Er will nicht die Backend-Navigation ändern sondern den Programmpunkt, der die Navigation erzeugt um neue Funktionen ergänzen, also vergleichbar den vorhandenen Buttons wie "Bearbeiten", "Löschen" etc.

Sowas geht nur durch Eingriff in die Originaldateien, Austausch der Originaldateien oder automatisches Patchen der Originaldateien.

Es gibt noch nicht genügend Schnittstellen für solche Operationen.

Wer sowas vermeiden will sollte die gesamte Funktionalität selbst im Modul abbilden und einfach den Originalmenüpunkt ausblenden (was dann wieder wie oben beschrieben gehen würde...)

BTW: was macht denn "Sichtbar/Unsichtbar", wenn es nicht mit dem Ausblenden geschlossener Rubriken von mod_menu vergleichbar ist?
stefann
ConPresso-User
Beiträge: 34
Registriert: 31.07.2006 09:33
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Beitrag von stefann »

MarkusR hat genau ins Schwarze getroffen! :)
Genau das meinte ich.

Schade das das ganze so umständlich zu bewältigen ist, man kommt ja ganz schön schnell auf dutzende Dateien die dann gleichzeitig an mehreren Stellen bearbeitet werden müssten!

Ich dachte da an eine Funktion die beim installieren des Moduls die erforderlichen PHP-Dateien von alleine patcht. D.h. nach bestimmten Kriterien durchsucht, sind diese vorhanden wird an jener Stelle der nötige Code platziert (gleichzeitig noch markiert für eine eventuelle deinstallation) und abgespeichert.

Könnt Ihr mir folgen?

Wenn ich dein Vorschlag richtig verstanden habe: Wenn man die komplette Funktion in einem Modul abbildet, nimmt man anderen Modulen alle Möglichkeiten diese Funktion zu beeinflussen?!

Ich kenne mod_menu nicht gut genug um das sagen zu können. Spielt für mich aber erstmal garkeine Rolle da ich nicht zwangsweise ein "sinnvolles" Modul schreiben will sondern mich nur in die Materie einarbeiten will. Nach kurzer Überlegung hab ich mich dann für die "Sichtbar/Unsichtbar" Aufgabe eingestellt! :)
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7084
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal
Kontaktdaten:

Beitrag von MarkusR »

stefann hat geschrieben:Ich dachte da an eine Funktion die beim installieren des Moduls die erforderlichen PHP-Dateien von alleine patcht. D.h. nach bestimmten Kriterien durchsucht, sind diese vorhanden wird an jener Stelle der nötige Code platziert (gleichzeitig noch markiert für eine eventuelle deinstallation) und abgespeichert.
Ja, das meinte ich auch mit "automatisches Patchen der Originaldateien".

Prinzip: Datei öffnen, relevante Zeile finden, neue Inhalte einfügen, Datei speichern. Hierzu gibt es massig Scripts im Internet...
Antworten