Eine einfache Möglichkeit Navigations-Links für MODs hinzuzufügen ist die Verwendung der, in phpBB3 integrierten, so genannten, "Brotkrumen" - Funktion (Brotkrumen, englisch Breadcrumbs, genannt, weil eine Spur zurück zum Forum-Index gelegt wird).
Es sind lediglich ein paar Zeilen PHP-Code erforderlich, um deinem MOD (oder deiner Website, sofern du in phpBB3 eingebundene Seiten verwendest) einen Brotkrumen hinzuzufügen.
Dieser Artikel erklärt, was zu tun ist um Brotkrumen anzulegen.
Um zu verstehen wie das ganze funktioniert, öffne die Datei styles/prosilver/template/overall_header.html und suche nach diesem Code:
Code: Alles auswählen
<!-- BEGIN navlinks --> <strong>‹</strong> <a href="{navlinks.U_VIEW_FORUM}">{navlinks.FORUM_NAME}</a><!-- END navlinks -->
Um nun deinem eigenen MOD einen Brotkrumen (Breadcrumbs) hinzuzufügen, öffne die main.php - Datei deines MODs.
Suche nun nach der page_header function in deinem Script (wenn du mehrere Aufrufe der page_header function in deinem MOD hast, kannst du für jeden Aufruf einen Brotkrumen (Breadcrumbs) anlegen, wenn du dies möchtest).
Vor der page_header function füge nun folgenden Code ein:
Code: Alles auswählen
$template->assign_block_vars('navlinks', array(
'FORUM_NAME' => $user->lang['MOD_INDEX'],
'U_VIEW_FORUM' => append_sid('my_mod.'.$phpEx),
));
Der von uns eingefügte Code würde demnach folgende Ausgabe in der overall_header.html ergeben: Die Sprachvariable $user->lang['MOD_INDEX'] ist dabei nur als Beispiel zu betrachten. Du kannst hier jede Sprachvariable verwenden, die du möchtest (falls es sich nicht um einen MOD handelt, sondern um eine in phpBB3 eingebundene Seite, kannst du auch eine hart codierte Zeichenkette verwenden).
Im append_sid Aufruf, musst du dann noch my_mod mit dem Namen deiner .php - Seite (die aufgerufen werden soll) ersetzen.
Wenn du, aus welchen Gründen auch immer, einen externen Link aufrufen möchtest, kannst du hier auch hart codierte Zeichenketten verwenden.
Beispiel:
Code: Alles auswählen
‘U_VIEW_FORUM’ => ‘http://www.example.com’,
Du kannst also den Code mehrfach einfügen, um mehrere Links zu erhalten. Du könntest den Code aber auch innerhalb einer Schleife verwenden, um diesen Effekt zu erhalten (eine foreach-Schleife wäre hier sehr nützlich und angebracht).
Ein solches Beispiel, könnte in etwa so aussehen:
Code: Alles auswählen
$navlinks_array = array(
array(
'FORUM_NAME' => $user->lang['MOD_INDEX'],
'U_VIEW_FORUM' => append_sid('my_mod.'.$phpEx),
),
array(
'FORUM_NAME' => $user->lang['MOD_SUBPAGE'],
'U_VIEW_FORUM' => append_sid('my_mod.'.$phpEx, 's=1'),
),
array(
'FORUM_NAME' => $user->lang['MOD_SUBPAGE_2'],
'U_VIEW_FORUM' => append_sid('my_mod.'.$phpEx, 's=2'),
),
);
foreach( $navlinks_array as $name )
{
$template->assign_block_vars('navlinks', array(
'FORUM_NAME' => $name['FORUM_NAME'],
'U_VIEW_FORUM' => $name['U_VIEW_FORUM'],
));
}
Dieser Artikel basiert auf dem Artikel des phpbb.com - blogs
Grüße: Mahony