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 -> Neue Seite im Adminbereich anlegen

Neue Seite im Adminbereich anlegen
Autor: JohnDRockford
Stand: 30.12.2008 04:56
Neuste Version unter: http://www.phpbb.de/doku/kb/neue_admin_seite

### Neue Seite im Adminbereich anlegen

##### Dieser Artikel beschreibt, wie eine neue Seite im Adminbereich angelegt werden kann, die auch in der Navigation links im Adminbereich aufgelistet wird.

1. Erstellen der Spracheinträge
Fügt dazu in der Datei lang_admin.php des Sprachverzeichnisses diese beiden Zeilen ein:

Code:
$lang['Dein_Menu_Titel'] = 'Neuer Menütitel'; $lang['Dein_Menu_Text'] = 'Neue Seite';

Erklärung:
Der Eintrag $lang['Dein_Menu_Titel'] wird später als Kategorie angezeigt, wie z.B. "Gruppen" in der Admin-Navigation.
Der Eintrag $lang['Dein_Menu_Text'] wird später als Unterpunkt der Kategorie angezeigt, wie z.B. Befugnisse in der eben erwähnten Kategorie "Gruppen".
2. Erstellen der Navigationsdefinitionen
Wenn du mehrere Aktionen per $_GET-Variable über eine PHP-Datei definieren möchtest, müssen die zu übergebenen Parameter an $filename angehängt werden, es muss dann anstatt $filename, z.B.:

Code:
$filename?mode=x&submode=y

heissen.
Moduldefinition
Der erste Wert des Arrays $modules ist die Sprachdefinition der Kategorie, unter der die neue Adminseite angezeigt werden soll. In unserem Beispiel wäre dies ['Dein_Menu_Titel'].
Der zweite Wert wird später als Unterpunkt des Menüs angezeigt, in unserem Beispiel ['Dein_Menu_Text'].
3. Beispiel-Adminpage
Bitte beachte, dass der Dateiname der Adminpage immer mit admin_ beginnen muss (z.B. admin_foo.php).
So sollte die neue Adminpage aussehen:

Code:

<?php
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Dein_Menu_Titel']['Dein_Menu_Eintrag_1'] = $filename;
$module['Dein_Menu_Titel']['Dein_Menu_Eintrag_2'] = $filename.'?mode=foo';
return;
}
//
// Load default header
//
$no_page_header = TRUE;
$phpbb_root_path = './../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
/*
Hier steht der PHP-Code
*/
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>

Du kannst hier beliebigen PHP-Code verwenden.
Für die Anwendung von Templates, siehe <a href="/doku/kb/template_system" title="Dieser Artikel beschreibt, wie das von phpBB verwendete Template-System funktioniert" target="_blank" class="postlink">Template-System von phpBB</a>.
4. Bitte beachten:
Wenn ihr Formulare auf euren Adminseiten benutzt, müsst ihr unbedingt die URL des action-Tags mit append_sid() formatieren, da man sonst bei Absenden des Formulars automatisch ausgeloggt wird und keine Weitergabe der Daten erfolgt.
Beispiel: Ihr wollt die PHP-Datei foo.php über euer Formular aufrufen.
Die korrekte Formatierung wäre dann:

Code:
append_sid('foo.'.$phpEx);

Knowledge Base Offline -> Templates und Mods -> Neue Seite im Adminbereich anlegen

| phpBB.de Knowledge Base (Offline-Version) ©2005 Sascha Carlin und das phpBB.de-Team - Impressum Das Kopieren von Artikeln (auch auszugsweise) ist nur nach ausdrücklicher Genehmigung erlaubt! phpBB.de: Infos | Forum | Downloads | Dokumentation |