Zur Navigation

Navigation anpassen

1 Lionel

Hallo Jörg!
Erstmal wollte ich noch sagen, dass ich es klasse finde, dass Du die Smart-Tag-Funktion ins Forum eingebunden hast.

Leider bin ich aber noch nicht dazu gekommen, unser Mountainbikeforum auf die aktuellste Version zu bringen, da ich mir bis jetzt mit der Anpassung der Hauptnavigation die Zähne ausgebissen habe - seit der 1.1er Version scheint der Code in der tail.php dafür komplett umgeschrieben zu sein.

Mir geht es vor allem darum, dass ich die funktionalen Links, die eigentlich keine anklickt, die aber aus rechtlichen oder technischen Gründen vorhanden sein müssen, in den Fußzeilenbereich der Webseite packe, sprich die Menüpunkte "Regeln", "Impressum", "Datenschutz", "Sitemap"

Bisher sieht das Hauptmenü bei uns folgendermaßen aus:

Anonymer User:
Start - registrieren - login - suchen - neue Beiträge - Userliste

Angemeldeter User:
Start - Dein Profil - Logout - suchen - neue Beiträge - Userliste

Admin:
Start - Admin - (Mods) - Dein Profil - logout - suchen - neue Beiträge - Userliste

Könntest Du mir vielleicht einen Tipp geben, wie ich die Navi in der neuen Forenversion so anpassen kann, dass ich so eine Menüstruktur wieder hinbekomme?

Viele Grüße, Lionel

20.05.2008 15:45

2 Jörg

Hallo Lionel,

die Bestandteile der Navigation werden ab Version 1.1 bereits vollständig in der Datei menu.php definiert und in der Datei tail.php nur noch in einer doppelten Schleife aufgebaut

Dieses neue Konzept auf deine Anpassungen zu übertragen, ist etwas schwierig zwinker. Aber vielleicht könntest du es so versuchen.

1. Bearbeitung von menu.php.

a) Löschen der Punkte, die du nicht benötigst
b) Aufspalten der Navigation in $menu und $menu_2

$menu[][0] = array($x_start, $bpath . '/');
if ($sustatus >= 5 && $modqueue > 0) {
    $menu[][0] = array('Mods', $bpath . '/mods/');
}
if ($sustatus >= 6) {
    $menu[][0] = array('Admin', $bpath . '/admin/');
}
$menu[][0] = array('Suche', $bpath . '/suche/');
$menu[][0] = array('Neue Beiträge', $bpath . '/neue-beitraege-1' . $rext);
$menu[][0] = array('User', $bpath . '/userliste-1' . $rext);
if ($sustatus < 2) {
    $menu[][0] = array('Registrieren', $bpath . $newuserfile);
    $menu[][0] = array('Login', $bpath . '/login/');
} else {
    if ($i_onlinemins > 0) {
        $menu[][0] = array('Who\'s online', $bpath . '/info/online' . $rext);
    }
    $menu[][0] = array('Dein Account', $bpath . '/edit/user.php?uid=' . $suid);
    $menu[][0] = array('Logout', $bpath . '/login/?action=logout');
}

// Footer-Menü:

$menu_2[][0] = array('Sitemap', $bpath . '/sitemap-1' . $rext);
$menu_2[][0] = array('Regeln', $bpath . '/info/regeln' . $rext);
$menu_2[][0] = array('Impressum', $u_impressum);
$menu_2[][0] = array('Datenschutz', $u_privacy);

Da die Menus bei dir nicht verschachtelt sind, kannst du einfach überall "$menu[][0]" (bzw. "$menu_2[][0]") angeben

2. Bearbeitung von tail.php

dort führst du die Schleife dann einfach zweimal aus

Hauptmenü:

include ($f_menu);

foreach ($menu as $submenu) {
    /* ... */
}

Footer-Menü:

foreach ($menu_2 as $submenu) {
    /* ... */
}

PS: ich hab's kurz ausgetestet - so sollte es funktionieren

PPS: wenn du dir die Navi - wie in deinem jetzigen Forum - nicht in einer Liste ausgeben lassen möchtest, kannst du die Schleife auch folgendermaßen zusammenkürzen:

foreach ($menu_2 as $submenu) {
    $i = 0;
    foreach ($submenu as $item) {
        if ($item[1] == '' || $item[1] == $_SERVER['REQUEST_URI']) {
            $x_item = $item[0];
        } else {
            $x_item = '<a href="' . $item[1] . '">' . $item[0] . '</a>';
        }
        echo $x_item . ' ';
        $i++;
    }
}

20.05.2008 16:25 | geändert: 20.05.2008 16:40

3 leoclub

hallo Jörg,
habe von deinem Anbot gebrauch gemacht, unter www.meinleo.at .
Habe als Startseite unser Logo und komme damit zum Forum, soweit ok. Wenn man auf den ersten link (bei deinem Fall img. JörgsForm) kommt man auf die index.html (mit Logo) möchte es aber umschreiben, um auf die Startseite des Forum zu kommen (index.php), wo und wie kann ich dies ändern.

Vielen dank im voraus. anton

19.12.2008 10:34

4 Jörg

Hallo anton,

die Navigation ist in der Datei /includes/output/menu.php aufgeführt. Diese Zeile dort steht für den Startseitenlink:

$menu[0][0] = array($x_start, $bpath . '/');

Diese kannst du folgendermaßen abändern:

$menu[0][0] = array($x_start, $bpath . '/index.php');

In der kommenden Version 1.2 wird das allerdings möglicherweise so nicht mehr funktionieren, da dann www.meinleo.at/index.php automatisch auf www.meinleo.at/ weitergeleitet wird. Von daher wäre es besser, das Forum in einem eigenen Unterverzeichnis zu installieren, z.B. im Verzeichnis www.meinleo.at/forum/. Dazu musst du das Forum nicht neu installieren - es würde reichen, die Dateien ins Verzeichnis /forum zu verschieben und in der Datei /includes/config.php folgende Zeilen hinzuzufügen:

// Installationspfad des Forums:
$bpath = '/forum';

Danach kannst du von der Startseite das Forum einfach mit der Adresse www.meinleo.at/forum/ verlinken

19.12.2008 11:43 | geändert: 19.12.2008 11:43

5 leoclub

Hallo Jörg,
alles wie ich es wollte, danke für die rasche hilfe, habe dadurch etwas mehr Verständnis für die Funktionsweise von php erlangt. Habe leider kaum Zeit mich damit vertraut zu machen. wird schon werden.

19.12.2008 12:47

6 leoclub

Hallo Jörg, wo kann ich den Link in der Topfläche zB. ([[Jörgs Forum]] Anpassungen) so eintragen, dass man faktisch von Jeder weiteren Seite wieder auf die Startseite des Forum kommt?

MfG Anton

16.02.2009 01:32

7 Jörg

Dazu kannst du die Datei /includes/output/head.php ändern. Suche dort diesen Abschnitt:

if ($start == 0) {
    echo '<p id="top"><a href="', $gfpath, '">', $gfname4html, '</a>';

... und änder ihn folgendermaßen ab:

if ($start == 0) {
    echo '<p id="top"><a href="', $gfpath, '"index.php>', $gfname4html, '</a>';

16.02.2009 12:56

Nur Mitglieder können in diesem Forum Antworten schreiben.

Login | Registrieren