Seite 1 von 1

Eigene 'module_class'

Verfasst: 11.02.2009 10:11
von monkey
Hi,

Es gibt ja 3 Modul-Klassen (acp, mcp und ucp). Ich möchte eine eigene Modul-Klasse erstellen, was muss dazu alles gemacht werden?


grz
Monkey

Re: Eigene 'module_class'

Verfasst: 22.02.2009 13:37
von monkey
Hi,

kann mir denn niemand helfen? Ich möchte dieses Tab-System gerne übernehmen, da ich mehrere eigene Seiten einbinden möchte.
Ich bekomme die Meldung "Module not accessible". Woran kann das liegen? Ich habe die Ordner und Dateien angelegt und auch in der module_table entsprechende Datensätze eingegeben.

Muss noch etwas eingetragen werden, oder welche Änderungen sind in der module_table genau zu machen?


grz
Monkey

Re: Eigene 'module_class'

Verfasst: 22.02.2009 14:11
von aurora876
was genau soll das denn werden?

Re: Eigene 'module_class'

Verfasst: 22.02.2009 14:26
von monkey
Ich möchte einen eigenen Bereich erstellen, der das gleiche Tab-System nutzt wie zB der "Persönlichen Bereich".
Es gibt halt mehrere Unter-Kategorien und das Tab-System bietet sich dafür sehr an. In der Doku von phpBB.com wird nur erklärt wie man neue Module (Tabs) in die 3 bestehenden Gruppen (ucp, mcp und acp) integriert, ich möchte aber eine eigene neue Gruppe erstellen...

Re: Eigene 'module_class'

Verfasst: 23.02.2009 16:13
von monkey
Hat denn wirklich niemand einen Rat für mich?

Ich hätte die Seite gerne einheitlich und möchte deshalb das Modul-System von phpbb nutzen.

Code: Alles auswählen

// Instantiate module system and generate list of available modules
$module->list_modules('senioren');

// Select the active module
$module->set_active($id, $mode);

// Load and execute the relevant module
$module->load_active();

// Assign data to the template engine for the list of modules
$module->assign_tpl_vars(append_sid("{$phpbb_root_path}senioren.$phpEx"));
Die neue Sektion soll "senioren" lauten.

phpbb_modules sieht so aus:

Code: Alles auswählen

module_id  module_enabled  module_display  module_basename  module_class parent_id  left_id  right_id  module_langname           module_mode  module_auth
214        1               1                                senioren     0          1        4         SENIOREN_MAIN           
215        1               1               main             senioren     214        2        3         SENIOREN_MAIN_FRONT       front    
216        1               1                                senioren     0          5        8         SENIOREN_TABELLE         
217        1               1               tabelle          senioren     216        6        7         SENIOREN_TABELLE_FRONT    front  
Die entsprechenden Dateien under "includes/senioren" habe ich auch erstellt...

Re: Eigene 'module_class'

Verfasst: 23.02.2009 16:54
von Saint
monkey hat geschrieben:Ich bekomme die Meldung "Module not accessible". Woran kann das liegen?
Aus der Meldung würde ich schätzen, das du die Geschichte auch in das phpBB3 Rechtesystem einflicken musst.

Re: Eigene 'module_class'

Verfasst: 23.02.2009 17:55
von nickvergessen
hm, wenn module_auth leer ist, müsste das ohne gehen =/

Re: Eigene 'module_class'

Verfasst: 23.02.2009 18:38
von monkey
module_auth ist ja leer...

Habe hier mal die 2 Dateien für den Tab 'main':

includes/senioren/senioren_main.php

Code: Alles auswählen

class senioren_main
{
  function main($id, $mode)
  {
    $this->page_title = 'SENIOREN_MAIN';
    $this->tpl_name = 'senioren/senioren_main';
  }
}
includes/senioren/info/senioren_main.php

Code: Alles auswählen

class senioren_main_info
{
    function module()
    {
        return array(
            'filename'    => 'senioren_main',
            'title'        => 'SENIOREN_MAIN',
            'version'    => '1.2.3',
            'modes'        => array(
              'front'        => array('title' => 'SENIOREN_INDEX_MAIN', 'auth' => '', 'cat' => array('')),
            ),
        );
    }

}

Das Template existiert natürlich auch.

Wenn ich das Modul so lade:

Code: Alles auswählen

$module->load('senioren', 'main');
$module->display('asd');
sehe ich auch den Inhalt. Was fehlt noch, damit meine eigene Modul-Klasse angezeigt wird?