eigenes ACP Modul & Probleme beim realisieren von Features
Verfasst: Mi 10.Feb, 2010 03:09
Hallo zusammen,
ich versuche gerade mein phpBB3 Forum im ACP zuerweitern mit einen neuen Modul. Das Modul liest die Tabelle "phpbb_modules" aus & das klappt auch alles.
Jetzt zu meinen Problem wo ich nicht weiterkomme bzw. ich nicht weiß wie man das realsiert kann, da ich noch sehr neu bin in der PHP Materie.
Jetzt hab ich schon öfterst im ACP gesehen, dass man Sachen Aktivieren/Deaktivieren kann über ein Button sowie Datensätze Bearbeiten bzw. Löschen kann z.b. bei den Benutzerdefinierte Profilfelder.
Wie kann ich das jetzt auch in meinen Modul realisieren ? Wie man unten auf den Bild sehen kann hab ich es schon hinbekommen die 2 Icon zum löschen bzw.bearbeiten von Datensätze einzufügen sowie den Hyperlink bei Modul Status, das Problem ist nur das Script was hinter den 3 Hyperlinks steckt. Ich habe schon die verschiedenen Dateien durchgeschaut, ob ich da was hilfreiches finde aber ohne großen Erfolg.
Das einzigste was ich gefunden habe ist eine Switch-Case-Anweisung, die wie folgt aufgebaut ist: (Quelle: includes/acp/acp_profile.php)
Jetzt hab ich probiert den Code bei mir einzufügen & anzupassen doch brauchte net den erwünschten Erfolg. Jetzt hab ich schon durch rumgooglen erfahren, dass da was mit JavaScript oder so gemacht werden muss, doch ich hab in den Dateien wo diese Features benutzen werden nichts mit JavaScript gefunden.
Kann mir einer von euch dabei weiterhelfen ?
Hier noch die 2 wichtigsten Codes von den Modul:
Hier die ../includes/acp/acp_foo2.php
Und hier die ../adm/style/acp_foo2.html
Schonmal vielen Dank für eure Hilfe
ich versuche gerade mein phpBB3 Forum im ACP zuerweitern mit einen neuen Modul. Das Modul liest die Tabelle "phpbb_modules" aus & das klappt auch alles.
Jetzt zu meinen Problem wo ich nicht weiterkomme bzw. ich nicht weiß wie man das realsiert kann, da ich noch sehr neu bin in der PHP Materie.
Jetzt hab ich schon öfterst im ACP gesehen, dass man Sachen Aktivieren/Deaktivieren kann über ein Button sowie Datensätze Bearbeiten bzw. Löschen kann z.b. bei den Benutzerdefinierte Profilfelder.
Wie kann ich das jetzt auch in meinen Modul realisieren ? Wie man unten auf den Bild sehen kann hab ich es schon hinbekommen die 2 Icon zum löschen bzw.bearbeiten von Datensätze einzufügen sowie den Hyperlink bei Modul Status, das Problem ist nur das Script was hinter den 3 Hyperlinks steckt. Ich habe schon die verschiedenen Dateien durchgeschaut, ob ich da was hilfreiches finde aber ohne großen Erfolg.
Das einzigste was ich gefunden habe ist eine Switch-Case-Anweisung, die wie folgt aufgebaut ist: (Quelle: includes/acp/acp_profile.php)
Code: Alles auswählen
switch ($action)
case 'delete':
...
case 'activate':
...
case 'deactivate':
...
Kann mir einer von euch dabei weiterhelfen ?
Hier noch die 2 wichtigsten Codes von den Modul:
Hier die ../includes/acp/acp_foo2.php
Code: Alles auswählen
<?php
/**
*
* @package acp
* @version $Id: xxx.php,v 1.2.1 2008-04-29 20:56:00 AUTHOR $
* @copyright (c) AUTHOR + WWW
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package acp
*/
class acp_foo2
{
var $u_action;
var $new_config;
function main($id, $mode)
{
global $db, $user, $template, $phpbb_root_path, $phpEx;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
$user->add_lang('mods/info_acp_foo2');
$this->tpl_name = 'acp_foo2';
$this->page_title = $user->lang['ALL_MODULE_TITLE'] . ' Version 1.0.0';
$sql = 'SELECT * FROM ' . MODULES_TABLE;
if(!$module_row = $db->sql_query($sql)) {
}
while($row = $db->sql_fetchrow($module_row))
{
$template->assign_block_vars('tabelle', array(
'ID' => $row['module_id'],
'STATUS' => ($row['module_enabled'] == "0") ? "Aus" : "Ein",
'DISPLAY' => ($row['module_display'] == "0") ? "nein" : "ja",
'BASENAME' => $row['module_basename'],
'CLASS' => $row['module_class'],
'LANG' => $row['module_langname'],
'AUTH' => $row['module_auth'],
));}
}
}
?>Code: Alles auswählen
<!-- INCLUDE overall_header.html -->
<a name="maincontent"></a>
<h1>{L_ALL_MODULE_TITLE}</h1>
<p>{L_ALL_MODULE_DESC}</p>
<br />
<table cellspacing="1">
<thead>
<tr>
<th>{L_MODULE_ID}</th>
<th>{L_MODULE_STATUS}</th>
<th>{L_MODULE_DISPLAY}</th>
<th>{L_MODULE_BASENAME}</th>
<th>{L_MODULE_CLASS}</th>
<th>{L_MODULE_LANG}</th>
<th>{L_MODULE_AUTH}</th>
<th>{L_MODULE_OPTION}</th>
</tr>
</thead>
<tbody>
<!-- BEGIN tabelle -->
<!-- IF tabelle.S_ROW_COUNT is even --><tr class="row3"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td>{tabelle.ID}</td>
<td><a href="{HYPERLINK}">{tabelle.STATUS}</a></td>
<td>{tabelle.DISPLAY}</td>
<td>{tabelle.BASENAME}</td>
<td>{tabelle.CLASS}</td>
<td>{tabelle.LANG}</td>
<td>{tabelle.AUTH}</td>
<td> <a href="{tabelle.U_EDIT}">{ICON_EDIT}</a> <a href="{tabelle.U_DELETE}">{ICON_DELETE}</a>
</tr>
<!-- END tabelle -->
</tbody>
</table>
<br />
<br />
<!-- INCLUDE overall_footer.html -->