Hallo zusammen, mich plagt im Moment die Erstellung eines Menüs mit PHP.
Bisher lasse ich das Menü wie folgt erstellen.
Soweit sogut. Der erzeugte HTML CODE sieht also so aus:
Bei einem Klick auf den Link wird er "active". Ich würde gerne auf die selbe Art und Weise ein etwas komplizierteres Menü erstellen, dessen HTML Code aussehen muss wie folgt.
Mir ergeben sich im Moment folgende Probleme:
1. Ich würde die Links gerne in einem array speichern so wie oben, jedoch soll zu jedem Link noch die Information mit welches "Recht" man braucht um die Seite aufrufen zu können.
2. Das Menü ist mit jQuery animiert. Das heißt, dass das Untermenü erst mit einem Klick aufgeht. Bei einem Klick auf ein Element aus dem Untermenü muss diess Element "active" werden und das dazugehörige Hauptelement ebenfalls "active".
Bisher lasse ich das Menü wie folgt erstellen.
PHP:
$pages = array ( 'home' => 'Startseite', 'register' => 'Anmelden', 'help' => 'Hilfe', 'contact' => 'Kontakt' );
function get_nav ( $class_id = '' )
{
global $sys, $pages;
echo '<ul';
if ( $class_id )
{
if ( $class_id[0] == '.' ) echo ' class="' . substr ( $class_id, 1 ) . '"';
elseif ( $class_id[0] == '#' ) echo ' id="' . substr ( $class_id, 1 ) . '"';
}
echo '>';
foreach ( $pages as $l => $t )
{
$class = '';
if ( $l == $sys->_page ) $class = ' class="active"';
if ( @$sys->get_config ( 'rewrite_url' ) ) echo '<li' . $class . '><a href="' . URL . $l . '/">' . $t . '</a></li>';
else echo '<li' . $class . '><a href="' . URL . 'index.php?page=' . $l . '">' . $t . '</a></li>';
}
echo '</ul>' . "\n";
return true;
}
Soweit sogut. Der erzeugte HTML CODE sieht also so aus:
HTML:
<!-- Main Navigation -->
<ul id="main-nav">
<li class="active"><a href="http://school.arob-media.de/index.php?page=home">Startseite</a></li>
<li><a href="http://school.arob-media.de/index.php?page=register">Anmelden</a></li>
<li><a href="http://school.arob-media.de/index.php?page=help">Hilfe</a></li>
<li><a href="http://school.arob-media.de/index.php?page=contact">Kontakt</a></li>
</ul><!-- // end #main-nav -->
HTML:
<!-- Main Navigation -->
<ul id="main-nav">
<li><a href="#" class="nav-top-item no-submenu">Dashboard</a></li>
<li><a href="#" class="nav-top-item current">Anmeldungen</a>
<ul>
<li><a class="current" href="#">Anmeldungen einsehen</a></li>
<li><a href="#">Anmeldungen bearbeiten</a></li>
</ul>
</li>
<li><a href="#" class="nav-top-item">Verwaltung</a>
<ul>
<li><a href="#">Termine</a></li>
<li><a href="#">Neuen Termin erstellen</a>
<li><a href="#">Benutzer</a></li>
<li><a href="#">Neuen Benutzer erstellen</a></li>
<li><a href="#">Klassen verwalten</a></li>
<li><a href="#">Fächer verwalten</a></li>
</ul>
</li>
<li><a href="#" class="nav-top-item">Einstellungen</a>
<ul>
<li><a href="#">Allgemein</a></li>
<li><a href="#">Design</a></li>
<li><a href="#">Ihr Profil</a></li>
</ul>
</li>
</ul><!-- // end #main-nav -->
Mir ergeben sich im Moment folgende Probleme:
1. Ich würde die Links gerne in einem array speichern so wie oben, jedoch soll zu jedem Link noch die Information mit welches "Recht" man braucht um die Seite aufrufen zu können.
2. Das Menü ist mit jQuery animiert. Das heißt, dass das Untermenü erst mit einem Klick aufgeht. Bei einem Klick auf ein Element aus dem Untermenü muss diess Element "active" werden und das dazugehörige Hauptelement ebenfalls "active".