plugin.xml für Plugin-Konfiguration

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

plugin.xml für Plugin-Konfiguration

Beitrag von rethus »

Hallo,

Ich schaue mir gerade die neue Plugin-Struktur an. https://docs.contenido.org/display/CONDEVE/Plugin
die config.plugin.php wurde ja nun durch die plugin.xml ersetzt.

Soweit verstehe ich das auch - einzig ist mir nicht ganz klar, wie der Bereich <actions> vom Plugin letztendlich genutzt wird.
Was wird hier konfiguriert?

Ich würde mal davon ausgehen, dass es hier nach dem MVC-Prinzip so eine Art Verknüpfung zu Plugin-Funktionen sind. Ist das richtig? Ich habe mir das mal auf Basis des Newsletter-Plugins angesehen, kann aber keine stringente übereinstimmung mit der Datei und Verzeichnisstruktur zu meiner These finden.

Würde mich über ein Tipp diesbezüglich freuen.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: plugin.xml für Plugin-Konfiguration

Beitrag von xmurrix »

Hallo rethus,
...Soweit verstehe ich das auch - einzig ist mir nicht ganz klar, wie der Bereich <actions> vom Plugin letztendlich genutzt wird.
Was wird hier konfiguriert?...
du definierst hier lediglich, welche Bereiche (area) und Aktionen (actions) dein Plugin haben soll. Diese Werte werden dann in den entsprechenden Tabellen in der DB abgelegt.

Diese Einträge können im Backend als Zugriffsberechtigung für Benutzer und Gruppen freigeschalten werden oder nicht und in deinen include-Dateien (siehe <frame area="myarea" filetype="main" ... /> unter <frames>) kannst du prüfen, ob der aktuelle User zugriff darauf hat. Bin mir jetzt nicht sicher, ob das Backend die Berechtigung auch schon automatisch prüft, wenn man ein Request auf ein area mit einer action absetzt, das müsste man mal prüfen...
...Ich würde mal davon ausgehen, dass es hier nach dem MVC-Prinzip so eine Art Verknüpfung zu Plugin-Funktionen sind...
Im weitesten Sinn ist es ähnlich wie ein Controller, du kannst pro area eine include-Datei haben, diese Datei kann auf mehrere actions reagieren. Wie du das letztendlich umsetzt, ist dir überlassen, da gibt es keine Vorgaben.
...Ich habe mir das mal auf Basis des Newsletter-Plugins angesehen, kann aber keine stringente übereinstimmung mit der Datei und Verzeichnisstruktur zu meiner These finden....
Es kann sein, dass man bei diesem Plugin abwärtskompatibel sein wollte oder man wenig Zeit in eine Umprogrammierung investieren wollte. Schau dir einfach andere Plugins (form_assistant, mod_rewrite, user_forum) an, diese haben vom Aufbau her Ähnlichkeiten mit einer MVC-Struktur...

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: plugin.xml für Plugin-Konfiguration

Beitrag von rethus »

So ganz verstanden habe ich das jetzt noch nicht, muss ich gestehen.

Also mit der <area> ist mir soweit klar. Nur was bedeutet deine Erklärung im praktischen Sinne?

Was würde es für dieses Fallbeispiel bedeuten:

<action area="teaser">my_teaser</action>

Der Aufruf der URL wäre dann:
domain.de/contenido/frameset.php?area=teaser&contenido=19kacldfl0mfon60a3b13biho2p34vqh

Nur sehe ich nicht, in wie weit der Wert in dem action-Tag Verwendung finde.
Wäre toll, wenn du mir noch einen Tipp dazu geben könntest.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: plugin.xml für Plugin-Konfiguration

Beitrag von xmurrix »

...Was würde es für dieses Fallbeispiel bedeuten:
<action area="teaser">my_teaser</action>...
Nehmen wir an, du hast eine include-Datei include.my_include.php in deinem Plugin-Include Ordner

Code: Alles auswählen

...
        <frames>
            <frame area="teaser" filetype="main" name="my_plugin/includes/include.my_include.php" frameId="4" />
...
dann kannst du in der include-Datei "include.my_include.php" z. B. folgendes machen:

Code: Alles auswählen

...
if ('my_teaser' === $action) {
    // hier code für action 'my_teaser'
} elseif ('foobar' === $action)  {
    // hier code für action 'foobar'
}
...
Du kannst also pro area mehrere actions haben.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: plugin.xml für Plugin-Konfiguration

Beitrag von rethus »

Ok, soweit hab ich das verstanden.
Kannst du mir noch ein Tipp geben, wo ich die größe der Frames für die Plugins angeben kann?
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Re: plugin.xml für Plugin-Konfiguration

Beitrag von xmurrix »

...Kannst du mir noch ein Tipp geben, wo ich die größe der Frames für die Plugins angeben kann?...
Die Framegröße ist meines Wissens nicht konfigurierbar, du hast die Option ob du nun das ganze Frameset mit linkem Bereich brauchst, oder mit.

Auf der online-Dokumentation findest du eine Beschreibung zu Plugins, kann hilfreich sein, um zu verstehen, wie das mit den Plugins funktioniert:
https://docs.contenido.org/display/CONDEVE/Plugin

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: plugin.xml für Plugin-Konfiguration

Beitrag von frederic.schneider_4fb »

xmurrix hat geschrieben:
...Kannst du mir noch ein Tipp geben, wo ich die größe der Frames für die Plugins angeben kann?...
Die Framegröße ist meines Wissens nicht konfigurierbar, du hast die Option ob du nun das ganze Frameset mit linkem Bereich brauchst, oder mit.
Genauso ist es. Framegrößen können nicht flexibel definiert werden.
Frederic Schneider
Entwickler bei der four for business AG
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: plugin.xml für Plugin-Konfiguration

Beitrag von rethus »

Hab ne Möglichkeit gefunden. Mache einfach bei einem Onload Gebrauch von Javascript. Damit kann man das Frame anpassen.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: plugin.xml für Plugin-Konfiguration

Beitrag von rethus »

Wenn ich in den Benutzerberechtigungen nachschaue, sind die Beschreibungen zu den Freigabebereichen bei den Modulen recht umgangssprachlich.
Zum Beispiel: Formularfeldoptionen hinzufügen

Bei meinem KontaktTeaserPro_Plugin hingegen eher technisch: xst_contactTeaser_pro|cTeaserPro_main

Screenshot_001_20140310.jpg
Screenshot_001_20140310.jpg (72.88 KiB) 2672 mal betrachtet
Wo kann ich festlegen, welcher Text in dieser Spalte ausgegeben wird?
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType
frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: plugin.xml für Plugin-Konfiguration

Beitrag von frederic.schneider_4fb »

Das kannst Du mittels des Arrays $lngAct festlegen, optimalerweise in der config.plugin.php Deines Plugins.

Also, zum Beispiel:
global $lngAct;
$lngAct['xst_contactTeaser_pro']['cTeaserPro_main'] = i18n('XY', $plugin_name);

Es handelt sich dann dabei um die Area "xst_contactTeaser_pro" mit der Action "cTeaserPro_main".

Für die beiden "pifa_show"-Variablen wird es mit CONTENIDO 4.9.4 übrigens einen Fix geben, sodass beide dann auch Beschriftungen haben.
Frederic Schneider
Entwickler bei der four for business AG
Antworten