pragmaMx Support Forum

pragmaMx => Vorabversions Testforum => pragmaMx 2.0 => Thema gestartet von: pyr0 am 09 August 2014, 12:15:42

Titel: Adminbereich eigene Module??
Beitrag von: pyr0 am 09 August 2014, 12:15:42
Moin Moin

wie kann man seine eigenen Module mit dem Adminmenü vom pmx erstellen?

Im Adminbereich von jedem Modul, hat man ja oben rechts immer den Adminbereich: wie kann ich diesen für eigene Module erstellen?

Desweiteren: wie geht das mit dem Flip funktionen ?


bzw: welche Funktionen sind dafür im System hinterlegt und sollte ich dafür nehmen?


Gruss pyr0
Titel: Re:Adminbereich eigene Module??
Beitrag von: Olaf / TerraProject am 09 August 2014, 12:49:38
schau dir mal das Modul _blank an... (müsste beim letzten Update mit dabei gwesen sein.)
das hat einn Demo-Adminbereich mit den Funktionen, die das System mitliefert.
daraus müsstest du dir dein eigenes Modul auch basteln können.....
Titel: Re:Adminbereich eigene Module??
Beitrag von: pyr0 am 09 August 2014, 13:01:21
So das hab ich natürlich schon mal gemacht  :red:,
und folgendes gefunden
$config = $this->config_load();

        $tb = load_class('AdminForm', "adminFormMain");
        $tb->tb_text = _MYMODUL;
        $tb->tb_direction = 'right';
        $tb->infobutton = true;
        $tb->tb_pic_heigth = 22;
        $tb->cssclass = "toolbar1";
        $tb->homelink = false;

        $tb->addToolbar("save");
        $tb->addToolbarLink("cpanel", "admin.php?op=" . $this->modulname);

        /* Form elements */
        $tb->addFieldSet("head", _MYMODUL_CONF_TITLE, "", false);
        $tb->add("head", "input", "config[var1]", $config['var1'], _MYMODUL, "Testtext", 5, 5);
        $tb->add("head", "input", "config[var2]", $config['var2'], _MYMODUL, "Testtext1", 5, 5);
        $tb->add("head", "input", "config[var3]", $config['var3'], _MYMODUL, "Testtext2", 5, 5);
        $tb->add("head", "input", "config[var4]", $config['var4'], _MYMODUL, "Testtext3", 5, 5);
        $tb->add("head", "hidden", "ok", "1");

        $form = $tb->Show();



da werden ja die beiden Buttons für speichern und adminmenu mit erstellt, nur wie bomme ich da noch mehr dazu?

Danke
Titel: Re:Adminbereich eigene Module??
Beitrag von: Webfan am 09 August 2014, 14:10:59
Hallo pyr0,
schau Dir doch einfach mal die ganzen anderen Module an, vor allem die Ordner
-core
-admin
Dadurch solltest Du eigentlich alles nötige erfahren!?

------------------------------------------------
Neue Version, bitte Testen:
http://www.webfan.de/Downloads-lid-Webfan-Modules-InstallShield-php-library-63.html
(Neue Module in Arbeit)
------------------------------------------------
:bye:
Titel: Re:Adminbereich eigene Module??
Beitrag von: Olaf / TerraProject am 11 August 2014, 07:36:07
schau mal hier:
http://www.pragmamx.org/Documents-API-Dokumentation-Page-Kurzanleitung-Id-79.html
hier gibts eine kleine Anleitung für den Einsatz der Elemente im Administrationssystem.

Alle diese Funktionen können und sollten natürlich auch im Frontend des Moduls verwendet werden.
Titel: Re:Adminbereich eigene Module??
Beitrag von: pyr0 am 11 August 2014, 17:10:42
Ja genau sowas hab ich gesucht,
denn nun kann man ja auch den Adminbereich mit den vorhanden Funktionen erstellen  :thumbup:

werde das mal ausprobieren

thx
Titel: Re:Adminbereich eigene Module??
Beitrag von: pyr0 am 14 August 2014, 17:00:38
So habs es nun soweit hinbekommen, für den Anfang ...... :red:

Nur wenn ich ein Button erstellen will der auf den Bereich Einstellungen verlinkt sein soll und ein Button der eine andere Verlinkung hat, komme ich ins schleudern:

also ich möchte es machen:

Button 1 = hilfe.php Button 2 = settings.php



ja ich nehme dazu $tb->__set('target_url','test.php'); das bekomme ich aber immer nur für eine Datei hin  :gruebel:


Hat jemand ne Idee ?
Danke
Titel: Re:Adminbereich eigene Module??
Beitrag von: Olaf / TerraProject am 14 August 2014, 18:13:54
eigentlich ganz einfach :

lass das 'target.url' einfach mal gedanklich weg und gebe einfach jeder Funktion, die du benötigst, einen Button
über die zentrale Auswertefunktion des Formulars 'CheckButton()' kannst du dann in die anderen Dateien verzweigen...
Bsp.:
switch (pmxAdminForm::CheckButton()) {
       case "help":
           require_once('hilfe.php');
           // hier die Funktion in deiner Hilfe.php aufrufen...
           meine_help_function ();
           exit;
           break;
       case "settings":
           // weiterverarbeitung;
           
           break;
}

Vorteil dieses Systems, man muss nur an einer Stelle die Rückgabewerte (egal welcher Art) behandeln, filtern, checken, umwandeln....
und kann die Werte somit immer "sauber" an die nachfolgenden Funktionen weitergeben. Und wenn du später eine weitere Funktion brauchst, dann einfach einen Button hinzu und in die Switch-Funktion die Auswertung einbauen....

Schau die mal den Adminbereich von "Documents" an. Der ist komplett so aufgebaut....
Viele Funktionen sind bereits im System hinterlegt, mit Icons, Sprachkonstanten etc., so daß du nur die Kurzaufruf für die Button brauchst....
siehe: root_pfad\includes\classes\AdminForm\language

also einfach :
$tb->addToolbar("help"); // gibt einen Button mit dem Hilfebutton aus und Text in ensprechender Sprache
// gibt 'help' über pmxAdminForm::CheckButton() zurück....


so gehts am schnellsten...

... ahja.... und wenn du nur einen Link in der Toolbar brauchst.... nimm
$tb->addToolbarLink($name,$targeturl='', $text='', $pic='' )
das erzeugt einen direkten Link....
:BD:
Titel: Re:Adminbereich eigene Module??
Beitrag von: pyr0 am 15 August 2014, 15:01:28
ich komme da nicht klar ?!!!??  :crash:


kannst du mal bitte ein Beispiel geben   :please: :thanks:


wie kann ich den Buttons eine Funktion zuweisen ?



in panischer Vorfreude Danke
Titel: Re:Adminbereich eigene Module??
Beitrag von: Olaf / TerraProject am 15 August 2014, 15:53:27
ok
mit der Aussage: dem Button eine Funktion zuweisen, meine ich den Text dabei. ok, war vielleicht ein bisschen irreführend....:pardon:

hier mal ein (unvollständig!) erweitertes Beispiel (aus _blank-Modul ) mit ein paar mehr Kommentaren  :puzzled:

    function main ($op)
    {
        $info2 = $this->modulname;
        $tb = load_class('AdminForm', "adminFormMain");

        /* Zentrale Auswertefunktion hier */
        switch (pmxAdminForm::CheckButton()) {
            case "save":
                $temp = $_POST['config'];
                $this->config_save ($temp) ;
                mxRedirect("admin.php?op=$info2", _CHANGESAREOK, 1);
                break;
            case "edit":
                 // Weiterverarbeitung
                break;
            case "settings":   // hier die Auswertung deiner Settingsfunktion
               // ggf. hier Formulardaten filtern
               $postdaten = irgendwas($_POST);
               .................
               // hier benötigte Datei 'laden'
               require_once("pfadzurdatei/settings.php");

               // nun Daten an diese Funktion senden
               call my_settings_function($postdaten);
               
               // hier ggf. verhindern, daß die Rückkehr aus 'my_settings_function' wieder das Formular läd (wenn nötig)
               exit;
               break;
            case 'meinefunktion':
               // irgendwas 
               ............
               break;     
        }

        $config = $this->config_load();

        // Konfiguration mit Standardeinstellungen (reichen meistens aus :)
        $tb = load_class('AdminForm', "adminFormMain");

        /* normale' Toolbarbutton - mit Klick daruf, wird das Formular abgesendet und landet direkt wieder hier in dieser Funktion */
        $tb->addToolbar("edit");
        $tb->addToolbar("save");
        $tb->addToolbar("settings");   // hier deine Settings-"Funktion"
       
        $tb->addToolbar('meinefunktion', 'Buttonbeschriftung', 'pfadzum_icon',
                               'text der beim überfahren ders Buttons sichtbar wird',false)

        $tb->addToolbar("cancel");

        // direktlink zu einer anderen Datei - es werden keine Daten aus dem Formular benötigt, daher hier ein Direktlink
        // dabei werden keine Formulardaten übertragen
        $tb->addToolbarLink("help", "modules.php?op=" . $this->modulname . "&act=help"); 

        // zurück zum Adminbereich
        $tb->addToolbarLink("cpanel", "admin.php?op=" . $this->modulname);

        ...............



Ich hoffe es klappt und ich habe den Code verständlich ausgedrückt. Ansonsten müssten wir mal Telefonieren, damit ich dir das dann im Detail erklären kann. Sollte da Bedarf sein, schick mir deine Telefonnummer per PN, dann können wir was ausmachen....

:BD:
Titel: Re:Adminbereich eigene Module??
Beitrag von: pyr0 am 16 August 2014, 16:40:36
 :bye: ah so
ich kann Funktion addToolbar() auch noch ne Funktion mit geben, das hab ich nirgends lesen können okay werd das mal am WE ausprobieren, Danke erst einmal



THX und schönes Weekend
pyr0
Titel: Re:Adminbereich eigene Module??
Beitrag von: pyr0 am 17 August 2014, 14:39:37
Mahlzeit


mal noch ne Frage zu dem ganzen: Wo oder wie finde ich heraus welche Buttons es gibt bei $tb->addToolbar();
Ist es auch möglich eigene neu dazu zunehmen ?


Grüsse pyr0
Titel: Re:Adminbereich eigene Module??
Beitrag von: pyr0 am 17 August 2014, 14:57:30
Zitat
mal noch ne Frage zu dem ganzen: Wo oder wie finde ich heraus welche Buttons es gibt bei $tb->addToolbar();
Ist es auch möglich eigene neu dazu zunehmen ?

Ich habs, einfach die passenden Bilder als png im Ordner images/adminform ablegen und dann
$tb->addToolbar("meinbild","erstellen");

wobei das Bild genau so: meinbild.png heißen muss oder? jedenfalls funktioniert es bei mir so



Ich hoffe das das so richtig ist  :red:
Grüsse pyr0
Titel: Re:Adminbereich eigene Module??
Beitrag von: Olaf / TerraProject am 18 August 2014, 09:55:45
genau so... ausser daß das Icon nicht in 'images/adminform' liegen muss
siehe Beschreibung:

$tb->addToolbar('meinefunktion', 'Buttonbeschriftung', 'pfadzum_icon','text der beim überfahren ders Buttons sichtbar wird',false)

'meinefunktion' -> Rückgabewert des Buttons
'Buttonbeschriftung' -> Selbsterklärend :BD:
'pfadzum_icon' -> hier kommt der Pfad (Bezug auf PMX-Root) zum Icon rein.
'text der beim überfahren ders Buttons sichtbar wird' -> selbsterklärend :BD: Tooltip

Zitat von: pyr0 am 17 August 2014, 14:57:30
wobei das Bild genau so: meinbild.png heißen muss oder? jedenfalls funktioniert es bei mir so
Wenn es denn dort liegt, JA !! Richtig ! :BD:
Titel: Re:Adminbereich eigene Module??
Beitrag von: pyr0 am 19 August 2014, 08:03:08
Moin Olaf

ich brings nicht hin  :gruebel:

kannst du mir bitte ein kleines Beispiel kompl. zeigen, irgendwie steht ich da total auf dem Schlauch :mad2:
(Falls nicht nehme ich halt mein Menü wieder  :cul: )

Gruss pyr0
Titel: Re:Adminbereich eigene Module??
Beitrag von: Olaf / TerraProject am 19 August 2014, 08:31:18
es ist im Moment schwer für mich, auf Grund fehlender Informationen, dir einen bessere Anleitung zu geben. Ich habe es hier immer sehr allgemein gehalten.
Du bekommst eine PN mit meinen Kontaktdaten, da können wir das vielleicht einfacher gestalten und ich kann dir besser helfen....
Titel: Re:Adminbereich eigene Module??
Beitrag von: pyr0 am 26 Februar 2015, 08:21:11
Moin Moin
so ich bin mal wieder am probieren um das adminform zu nutzen
Soweit so gut:
Header wird gebaut Links usw. funktionieren
Nur wie Kann ich jetzt ein Fieldset ohne eine "Savebutton" am Ende mit eigenem Inhalt anzeigen?

Danke
Titel: Re:Adminbereich eigene Module??
Beitrag von: Twerk am 06 März 2015, 13:41:31
Zitat von: TerraProject am 11 August 2014, 07:36:07
schau mal hier:
http://www.pragmamx.org/Documents-API-Dokumentation-Page-Kurzanleitung-Id-79.html
hier gibts eine kleine Anleitung für den Einsatz der Elemente im Administrationssystem.

Alle diese Funktionen können und sollten natürlich auch im Frontend des Moduls verwendet werden.

Sehr nützlicher Link, danke!