Von oben bis unten werde ich hier erklären wie man die Modul Datei abändern kann.
Du kannst die Datei portal/modules/portal_default.php als Basis für dein Modul verwenden.
Als Erstes solltest du den Kopf der Datei verändern um klarzustellen um welches Modul es sich hier handelt:
Code: Select all
/**
*
* @package Board3 Portal v2 - Gallery Block
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
Außerdem solltest du auch diese Zeile abändern:
Code: Select all
/**
* @package Modulname
*/
Code: Select all
/**
* @package Gallery Block
*/
Danach musst du jetzt den Klassennamen gemäß deinem Modulnamen abändern. Falls der Dateiname deines Moduls portal_gallery.php ist, musst du ihn wie so abändern:
Code: Select all
class portal_gallery_module
Code: Select all
/**
* Allowed columns: Just sum up your options (Exp: left + right = 10)
* top 1
* left 2
* center 4
* right 8
* bottom 16
*/
var $columns = 31;
Code: Select all
/**
* Erlaubte Spalten: Addiere einfach deine Optionen (Bsp.: links + rechts = 10)
* oben 1
* links 2
* mitte 4
* rechts 8
* unten 16
*/
Setze die Sprachvariable die später der Titel deines Moduls sein soll. Die Sprachvariable muss dann in der Sprachdatei deines Moduls definiert werden:
Code: Select all
/**
* Default modulename
*/
var $name = 'PORTAL_GALLERY';
Code: Select all
/**
* Default module-image:
* file must be in "{T_THEME_PATH}/images/portal/"
*/
var $image_src = 'portal_gallery.png';
Code: Select all
/**
* module-language file
* file must be in "language/{$user->lang}/mods/portal/"
*/
var $language = 'portal_gallery_module';
Falls du eine eigene Template im ACP verwenden willst, kannst du sie hier definieren:
Code: Select all
/**
* custom acp template
* file must be in "adm/style/portal/"
*/
var $custom_acp_tpl = '';
Durch aktivieren von $hide_name kannst du verhindern, dass der Benutzer den Titel des Blocks ändern kann:
Code: Select all
/**
* hide module name in ACP configuration page
*/
public $hide_name = false;
Am Ende der Funktionen wird der Dateiname der HTML Datei zurückgegeben, die geladen werden soll:
Code: Select all
return 'modulename_center.html';
Mit der Funktion get_template_acp() können die Optionen für den Admin-Bereich definiert werden:
Code: Select all
function get_template_acp($module_id)
{
return array(
'title' => 'ACP_PORTAL_BOTS_SETTINGS',
'vars' => array(
'legend1' => 'ACP_PORTAL_BOTS_SETTINGS',
'board3_last_visited_bots_number_' . $module_id => array('lang' => 'PORTAL_LAST_VISITED_BOTS_NUMBER' , 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
)
);
}
Falls du eine config Variable (z.B. $config['board3_last_visited_bots_number_' . $module_id'] während $module_id automatisch definiert wird) hast, die durch dein Modul definiert wird, kannst du diese Option einfach unter 'legendx' einfügen'. In dem Array für die Optionen steht 'lang' für die Sprachvariable für diese Einstellung. Falls 'explain' auf ja gesetzt wird, muss es die Sprachvariable von 'lang' auch mit '_EXP' am Ende geben (Beschreibung). Es hilft wenn man sich auch mal die Portaldateien anschaut. 'int' sorgt dafür, dass die Variable als Integer weitergegeben wird, während 'string' die Variable als Text weitergibt. Eine komplette Liste gibt es in der PHP Dokumentation. 'type' definiert wie die Einstellung aussehen soll. 'text:3:3' erstellt eine Textbox mit der Länge 3 und der maximalen Eingabelänge von 3.
Der obige Code sieht so aus:
Die Funktion install wird ausgeführt, wenn das Modul installiert wird. Dadurch kann man z.B. die config Variablen hinzufügen. Stelle sicher, dass deine config Variablen immer mit 'board3_' anfangen und einzigartig sind:
Code: Select all
function install($module_id)
{
set_config('board3_last_visited_bots_number_' . $module_id, 1);
return true;
}
Code: Select all
function uninstall($module_id)
{
global $db;
$del_config = array(
'board3_last_visited_bots_number_' . $module_id,
);
$sql = 'DELETE FROM ' . CONFIG_TABLE . '
WHERE ' . $db->sql_in_set('config_name', $del_config);
return $db->sql_query($sql);
}