phpBB.de - Die deutsche phpBB-Community
Stand: 30.12.2008 04:56
aktuelle Version auf phpBB.de
 
Apache At Work Communities Community Building Informationen und Hinweise Installation/Konfiguration/Update MySQL PHP phpBB-Optimierungen phpBB3 Rechtliches Server & Technik Snippets Templates und Mods
 



Knowledge Base Offline -> Templates und Mods -> MOD Template

MOD Template
Autor: saerdnaer
Stand: 30.12.2008 04:56
Neuste Version unter: http://www.phpbb.de/doku/kb/modtemplate

MOD Template

Beschreibung des MOD Templates, des Formats in dem ein MOD vorliegen muss, um in unsere MOD-Datenbank (und andere) aufgenommen werden zu können.
Aufnahmebedingungen für MODs
Damit wir ein MOD in unsere MOD-Datenbank aufnehmen muss er folgende Bedingungen erfüllen:
  • Der MOD muss das phpBB Datenbank-Layer, das phpBB Template System und das phpBB Sprachsystem benutzen
  • Der MOD muss das MOD-Template benutzen


MOD-Template

Ein Beispiel einer MOD-Installtaionsdatei:

Code:
##############################################################
## MOD Title:   Titel des MODs
## MOD Author:  Benutzername < Email > (Realname) http://domain.de
## MOD Description:
##   Beschreibung des MODs.
##   Und noch eine weitere Zeile
## MOD Version: x.y.z
##
## Installation Level: Schwierigkeitsgrad
## Installation Time:  x Minutes
## Files To Edit:
##   datei1.php
##   datei2.php
##
## Included Files: N/A
##############################################################
## Author Notes:
##
##  Kommentare und Anmerkungen
##
##############################################################
## MOD History:
##
##   JJJJ-MM-TT - Version x.y.z
##      - Änderung 1
##      - Änderung 2
##      - Änderung 3
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]------------------------------------------
#
ordner/datei.php
#
#-----[ FIND ]------------------------------------------
#

#
#-----[ AFTER ADD ]------------------------------------------
#

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM



Der Kopf

Im Kopf stehen die wichtigen Daten eines MODs. Übrigens das “MOD“ in den folgenden Zeilen wird komplett in Großbuchstaben geschrieben.
Code:
## MOD Title:   Titel des MODs


Der Titel sollte kurz, einprägsamem und eindeutig sein. Es bringt nichts wenn niemand weis von welchem MOD gerade die Rede ist, nur weil es zwei MODs gibt die genau Gleich oder sehr Ähnlich heißen. Bevor Du dir also einen Namen aussuchst schau auf den üblichen Seiten nach ob er nicht bereits belegt ist.

Code:
## MOD Author:  Benutzername < Email > (Realname) http://domain.de

Außer dem Benutzernamen sind alle Felder freiwillig. Fülle alle Felder die du nicht nutzt mit N/A
Nur diese Kombinationen sind zulässig, alle anderen nicht:
Code:
Joe < email@domain.de > (Joe Green) http://www.domain.com/
Joe < email@domain.de > (N/A) http://www.domain.de/
Joe < email@domain.de > (Joe Green) N/A
Joe < N/A > (Joe Green) http://www.domain.de/
Joe < email@domain.de > (N/A) N/A
Joe < N/A > (Joe Green) N/A
Joe < N/A > (N/A) http://www.domain.de/
Joe < N/A > (N/A) N/A

Die Leerzeichen zwischen den spitzen Klammern und der Emailadresse gehören dort hin.
(siehe auch phpBB.com KB: MOD Template - MOD Author Syntax)

Code:
## MOD Description:
##   Beschreibung des MODs.
##   Und noch eine weitere Zeile


Bei der Beschreibung gilt: Du kannst fast nicht genug schreiben. Beschreibe die Funktionen deines MODs so gut wie möglich, achte dabei auf Rechtschreibung und übertreibe nicht mit zu langen Sätzen, Relativsätzen, Adjektiven und Fachwörtern. Wenn eine Zeile über den rechten Rand des Kopfes geht mach eine neue Zeile (siehe Beispiel).

Code:
## MOD Version: x.y.z


Die Version wird immer dreistellig angegeben.
X wird dann erhöht wenn du den MOD komplett umschreibst
Y wird erhöht wenn du den MOD um neue Funktionen erweiterst
Z wird erhöht wenn du einen Bug behebst, aber keine neuen Funktionen einbaust
Die Version startet bei 0.0.1 oder bei 1.0.0. Versionen die kleiner als 1.0.0 sind Beta oder Testversionen.
(siehe auch phpBB.com KB: MOD Version Numbering System)

Code:
## Installation Level: Schwierigkeitsgrad

Der Schwierigkeitsgrad ist in drei Stufen eingeteilt:
  • Easy => Leicht
  • Intermediate => Mittel
  • Advanced => Schwierig


Code:
## Installation Time:  x Minutes

Die Dauer der Installation in Minuten.

Code:
## Files To Edit:
##   datei1.php
##   datei2.php

Die Dateien die bearbeitet werden müssen um den MOD zu installieren. Für die Dateinamen gelten die unten beim OPEN Kommando beschriebenen Regeln.

Code:
## Included Files: N/A

Die Liste der Dateien die bei deinem MOD dabei sind (ohne die Installations-, Update- und sonstige Text-Dateien.


Code:
##############################################################
## Author Notes:
##
##  Kommentare und Anmerkungen
##
##############################################################

Hier ist Platz für Anmerkungen speziell zu diesem MOD.
Übrigens: Falls dein MOD EasyMOD Installer kompatibel ist kannst du das hier erwähnen.

Code:
##############################################################
## MOD History:
##
##   JJJJ-MM-TT - Version x.y.z
##      - Änderung 1
##      - Änderung 2
##      - Änderung 3
##
##############################################################

Der Verlauf deines MODs. Wenn du eine Neue Version veröffentlichst solltest du hier beschreiben was geändert wurde, welche neue Funktion du eingebaut hast usw.
Neue Einträge werden über den bisherigen eingefügt. Auch die erste Version sollte hier erwähnt werden, es gibt also immer mindestens einen Eintrag.

Code:
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

Dieser Block ist eigentlich nur eine Erinnerung an die Datensicherung.

Installationsanweisungen
Nach dem Kopf kommen die Änderungen für das Installieren des MODs. Hier wird nur erklärt wie diese Anweisungen aussehen müssen. Die Funktion der einzelnen Anweisungen wird in der Mod's FAQ genauer erklärt.
Zuerst kommen die einmaligen Anweisungen SQL und COPY. Sie kommen nur einmal direkt nach dem Kopf vor.
Code:
#
#-----[ SQL ]------------------------------------------
#
CREATE TABLE `phpbb_config` (
  `config_name` varchar(255) NOT NULL default '',
  `config_value` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`config_name`)
) TYPE=MyISAM;

Die SQL Anweisung dient dazu Änderungen an der Datenbank vorzunehmen. Weitere SQL Befehle kannst du einfach direkt dahinter einfügen. Du musst also den Befehle nicht mehrmals aufführen.

Code:
#
#-----[ COPY ]------------------------------------------
#
copy foo_body.tpl to templates/subSilver/foo_body.tpl
copy foo_body.tpl to templates/subSilver/
copy *.* to templates/subSilver/


Die COPY Anweisung zeigt wohin die beiliegenden Dateien verschoben werden sollen.
Die letzte der drei Zeilen zeigt wie du mehrere Dateien verschieben kannst.


Die Bearbeitungsanweisungen

Danach werden die einzelnen Dateien bearbeitet. Die Datei wird zuerst geöffnet (OPEN). Dann eine bestimmte Stelle gesucht (FIND) und etwas Quelltext eingefügt (AFTER, ADD; BEFORE, ADD) oder ersetzt (REPLACE WITH).

Code:
#
#-----[ OPEN ]------------------------------------------
#
includes/constants.php

Der Dateinamen darf nicht mit einem Schrägstrich oder /phpBB2/ oder so etwas ähnlichem anfangen.
Im Beispiel würde man die Datei constants.php aus dem Ordner includes öffnen.

Code:
#
#-----[ FIND ]------------------------------------------
#
<gesuchter Quelltext>


Code:
#
#-----[ AFTER, ADD ]------------------------------------------
#
<Quelltext zum Einfügen>

#
#-----[ BEFORE, ADD ]------------------------------------------
#
<Quelltext zum Einfügen>

#
#-----[ REPLACE WITH ]------------------------------------------
#
<Quelltext zum Ersetzen>


Die IN-LINE Anweisungen
Um große Ersetzungsanweisungen zu vermeiden wurden außerdem die IN-LINE Anweisungen eingeführt.
Man sucht zuerst einen Bereich (FIND). Dann sucht man in diesem Bereich ein paar Wörter (IN-LINE FIND) um etwas dahinter (IN-LINE AFTER, ADD) oder davor (IN-LINE BEFORE; ADD) einzufügen, oder die gefundenen Wörter durch etwas zu ersetzen (IN-LINE REPLACE WITH)
Diese Methode wird oft zum Ändern von SQL Anweisungen benutzet, deshalb benutzen wir hier auch eine SQL Abfrage als Beispiel:
Code:
#
#-----[ IN-LINE FIND ]------------------------------------------
#
user_from = '" . str_replace("\'", "''", $location) . "',


Code:
#
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
user_from_flag = '$user_flag',

#
#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
user_from_flag = '$user_flag',

#
#
#-----[ IN-LINE REPLACE WITH ]------------------------------------------
#
user_from_flag = '$user_flag',


Am Ende schließt du die Datei mit folgenden Zeilen ab:

Code:
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM


Falls du eine PAGE_ Konstante für deinen MOD brauchst, solltest du dir einen Bereich reservieren:
PAGE_ Constants Reservation

Und wenn du einen BBCode MOD erstellst noch ein paar Lesetipps für dich:
BBCode Reservation List
BBCode MOD Standardization

Und schließlich noch der Original-Artikel von phpBB.com zum MOD Template:
MOD Template - Tutorial



Knowledge Base Offline -> Templates und Mods -> MOD Template