Pluginkonfiguration - Funktion einbinden

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
isometric
Posts: 158
Joined: Thu Jun 12, 2014 8:32 am

Pluginkonfiguration - Funktion einbinden

Post by isometric » Thu Jan 23, 2020 7:48 am

Ich versuche eine Funktion in das Konfigurationsmenü eines Plugins einzubinden, die eine Auswahlliste erzeugt.

Leider nicht sehr erfolgreich ...

Folgendes funktioniert:
Eintrag in die Datei metaconfig.php:

Code: Select all

$plugin_mcf['article']['userfile_dateiname'] ="enum:Datei 1,Datei 2";
Jetzt habe ich versucht eine Funktion in der Datei admin.php zu erstellen, die dasselbe Ergebnis hat:
Eintrag in die Datei metaconfig.php:

Code: Select all

$plugin_mcf['article']['userfile_dateiname'] ="function:Datei";
Funktion in admin.php:

Code: Select all

function Datei()
{
        $datei = array();
        $datei[] = 'Datei 1';
        $datei[] = 'Datei 2;
        
        return $datei;
}
Das erzeugt leider ein leeres Dropdownmenü in der Anzeige.

Welchen Rückgabewert wird hier statt meinem Array erwartet?
Last edited by isometric on Thu Jan 23, 2020 8:43 am, edited 1 time in total.
in diesem Sinne isometric

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Pluginkonfiguratiion - Funktion einbinden

Post by frase » Thu Jan 23, 2020 8:06 am

isometric wrote:
Thu Jan 23, 2020 7:48 am
Welchen Rückgabewert wird hier statt meinem Array erwartet?
Olape hat gerade Vorschläge für weitere mögliche Feldtypen gemacht:
https://github.com/cmsimple-xh/cmsimple-xh/issues/396

Soweit ich weiß, wird "function:Datei" nicht ausgewertet, weil es "function" nicht gibt - es wird Text erwartet (es ist ein Text-Feld, weil: "all other --> text-field").

isometric
Posts: 158
Joined: Thu Jun 12, 2014 8:32 am

Re: Pluginkonfiguratiion - Funktion einbinden

Post by isometric » Thu Jan 23, 2020 8:11 am

Irgendwie muss es funktionieren.

In Pagemanager-Plugin klappt es zumindest:
Metaconfig.php

Code: Select all

$plugin_mcf['pagemanager']['treeview_theme']="function:Pagemanager_themes";
Dort steht dann in der Admin.php eine Funktion, welche die vorhandenen Themes als Auswahlmenü erzeugt:

Code: Select all

/**
 * @return array
 */
function Pagemanager_themes()
{
    return Model::getThemes();
}
in diesem Sinne isometric

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Pluginkonfiguratiion - Funktion einbinden

Post by frase » Thu Jan 23, 2020 8:42 am

Vermutlich hat Christoph noch an anderer Stelle noch etwas "umgebogen", damit das funktioniert.
:o

isometric
Posts: 158
Joined: Thu Jun 12, 2014 8:32 am

Re: Pluginkonfiguration - Funktion einbinden

Post by isometric » Thu Jan 23, 2020 9:02 am

Bestimmt hat er das :D

Ich habe eben testweise mein Array im Pagemanger-Plugin eingetragen, dort wird die Auswahlliste erzeugt.

Also: große Frage, wie hat er das gemacht? :?:
in diesem Sinne isometric

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Pluginkonfiguration - Funktion einbinden

Post by Holger » Thu Jan 23, 2020 10:52 am

Das sollte mit "function" klappen -- mache ich so auch im jQuery-Plugin:
Zum Beispiel:
metaconfig.php
und die zugehörige Funktion:
https://github.com/TN03/jQuery_XH/blob/ ... in.php#L35

isometric
Posts: 158
Joined: Thu Jun 12, 2014 8:32 am

Re: Pluginkonfiguration - Funktion einbinden

Post by isometric » Thu Jan 23, 2020 12:15 pm

Danke euch, jetzt klappt es. Ich habe mir die Plugins nochmal genauer angeschaut, bei denen es funktioniert.

Mein Fehler war, dass ich den Aufruf in der Index.php stehen hatte und nicht in der Admin.php

Code: Select all

$temp = new Article\Plugin;
$temp->run();
$temp = null;
in diesem Sinne isometric

Post Reply