Eigene Module erstellen

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
andybabe
Mitglied
Beiträge: 65
Registriert: 16.05.2009 11:35

Eigene Module erstellen

Beitrag von andybabe »

Ich habe ein kleines Problem beim Erstellen von Modulen. Ich habe folgende 2 Anleitungen verwendet:

http://wiki.phpbb.com/Creating_modules

http://wiki.phpbb.com/Mcp/info

Allerdings will das nicht so wirklich funktionieren. Warum? Die Dateien habe ich erstellt und hoch geladen. Allerdings kann ich nicht darauf zugreifen. Im ACP erscheint gar nichts.

Hier noch jeweils der Inhalt der Dateien:

mcp_gmmts.php (mcp)

Code: Alles auswählen

class mcp_gmmts
{
    function main($id, $mode)
    {
        $this->page_title = 'mcp_GMMTS';
        $this->tpl_name = 'mcp_gmmts';
    }
}
mcp_gmmts.php (mcp/info)

Code: Alles auswählen

class mcp_gmmts
{
    function module()
    {
        return array(
            'filename'    => 'mcp_gmmts',
            'title'        => 'GMMTS',
            'version'    => '1.0.0',
            'modes'        => array(
                'mode1'        => array('title' => 'MCP_PAGE_MODE_ONE_TITLE', 'auth' => 'acl_m_,$id', 'cat' => array('MCP_PAGE_TITLE')),
                'mode2'        => array('title' => 'MCP_PAGE_MODE_TWO_TITLE', 'auth' => 'acl_m_,$id', 'cat' => array('MCP_PAGE_TITLE')),
            ),
        );
    }

    function install()
    {
    }

    function uninstall()
    {
    }
}
Habe ich etwas falsch gemacht oder vergessen?

Falls sich jemand denkt, was mit der Template Datei ist --> Die ist auch erstellt. Aber die muss ich hier ja nicht posten oder? Weil verändert habe ich sie nicht.
Ich bin kein Profi, aber ich helfe, wo ich kann, aber lasse mich auch gerne des Besseren belehren und ich versuche durch mitreden zu lernen.

Plauder Community --> http://gmmts.de (Games, Movies, Music, Technic, Software)
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Re: Eigene Module erstellen

Beitrag von Gumfuzi »

Hallo,

versuche mal in der Datei
mcp_gmmts.php (mcp/info)

die Class umzubenennen:

von:
class mcp_gmmts

auf:
class mcp_gmmts_info
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
andybabe
Mitglied
Beiträge: 65
Registriert: 16.05.2009 11:35

Re: Eigene Module erstellen

Beitrag von andybabe »

Ah, stimmt. Muss wohl beim Anpassen passiert sein.
Ich bin kein Profi, aber ich helfe, wo ich kann, aber lasse mich auch gerne des Besseren belehren und ich versuche durch mitreden zu lernen.

Plauder Community --> http://gmmts.de (Games, Movies, Music, Technic, Software)
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Re: Eigene Module erstellen

Beitrag von Gumfuzi »

d.h. alles ok nun?
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
andybabe
Mitglied
Beiträge: 65
Registriert: 16.05.2009 11:35

Re: Eigene Module erstellen

Beitrag von andybabe »

Also das funktioniert schon einmal, ja ^^ jetzt stellt sich aber eine weitere Frage:

Da ist das Array modes. Wie arbeite ich damit? Ich weiß, dass ich damit im ACP unterschiedliche Modulteile auswählen kann. Jetzt kann ich also dann mode1 aufrufen und mode2 und wie bestimme ich den jeweiligen Inhalt?

Ach und mittlerweile heißt es alles ucp und nicht mcp, da es ein Modul für User sein soll. Habe es auch angepasst. Hier das Aktuelle:

Code: Alles auswählen

class ucp_gmmts_info
{
    function module()
    {
        return array(
            'filename'    => 'ucp_gmmts',
            'title'        => 'GMMTS',
            'version'    => '1.0.0',
            'modes'        => array(
                'games'        => array('Games' => 'Games', 'auth' => 'acl_u_,$id', 'cat' => array('MCP_PAGE_TITLE')),
                'movies'        => array('Movies' => 'Movies', 'auth' => 'acl_u_,$id', 'cat' => array('MCP_PAGE_TITLE')),
            ),
        );
    }

    function install()
    {
    }

    function uninstall()
    {
    }
}

Code: Alles auswählen

class ucp_gmmts
{
    function main($id, $mode)
    {
        $this->page_title = 'Artikel und Berichte';
        $this->tpl_name = 'ucp_gmmts';
    }
}
Ich bin kein Profi, aber ich helfe, wo ich kann, aber lasse mich auch gerne des Besseren belehren und ich versuche durch mitreden zu lernen.

Plauder Community --> http://gmmts.de (Games, Movies, Music, Technic, Software)
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Re: Eigene Module erstellen

Beitrag von Gumfuzi »

Du meinst, wie man den Mode aufruft bzw. entsprechend des "mode" einen bestimmten Code ausführt?

in der Klasse ucp_gmmts_info definierst Du die verschiedenen Modi (inkl. Seitentitel, nötige Berechtigung, etc.), analog dazu schreibst Du in die Klasse ucp_gmmts den entsprechenden Code rein, den Du via "switch" steuern kannst.

Bevor ich hier lange rumschreibe, siehst Du Dir am besten mal die Dateien an:
includes/acp/acp_board.php
includes/acp/info/acp_board.php

Dort kannst Du das Prinzip erkennen mit dem "switch", dem "case" sowie der definition der _info-Klasse.
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
andybabe
Mitglied
Beiträge: 65
Registriert: 16.05.2009 11:35

Re: Eigene Module erstellen

Beitrag von andybabe »

Ok, das habe ich auch gerade herausgefunden. Was ich aber da noch nicht so kapiere, wie ich das dann an die Ausgabe schicke. Was ich herausfand ist, dass man da mit der Variable $template spielen muss. Nur was genau muss da passieren, damit dann dementsprechend etwas im Template passiert? Da kann ich ja dann bestimmte Dinge mit {} aufrufen. Gibt es da evtl. auch ein Tutorial, welches ich noch nicht entdeckt habe?
Ich bin kein Profi, aber ich helfe, wo ich kann, aber lasse mich auch gerne des Besseren belehren und ich versuche durch mitreden zu lernen.

Plauder Community --> http://gmmts.de (Games, Movies, Music, Technic, Software)
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Re: Eigene Module erstellen

Beitrag von Gumfuzi »

Hallo,

es gibt hier ein Tut, wo u.a. auch das mit der Templateübergabe erklärt wird:
http://wiki.phpbb.com/Deutsch:Vorlage_f ... ene_Seiten
(beachte den Unterschied zw. normalen und Block-Variablen)
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
andybabe
Mitglied
Beiträge: 65
Registriert: 16.05.2009 11:35

Re: Eigene Module erstellen

Beitrag von andybabe »

Also kann ich einfach hergehen, schauen was da mit der $template Variable gemacht wurde, das nehmen, einbauen und anpassen?
Ich bin kein Profi, aber ich helfe, wo ich kann, aber lasse mich auch gerne des Besseren belehren und ich versuche durch mitreden zu lernen.

Plauder Community --> http://gmmts.de (Games, Movies, Music, Technic, Software)
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Re: Eigene Module erstellen

Beitrag von Gumfuzi »

ja, aber noch an Deine Bedürfnisse anpassen.

Lies Dir den Code dort einfach mal durch inkl. den Hinweisen (im Code), da steht immer für was der Codeabschnitt genau ist.
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
https://www.deskmodder.de
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“