speicher
Erfahrenes Mitglied
Hallo ich habe hier ein Menü-Skript gefunden, dass ich gern auch für meine HP verwenden möchte. Das einzige, was mich dabei ein wenig stört ist, dass sich das Menü nur komplett aufklappen läßt.
D.H., wenn Menüpunkt 1 aufgeklappt ist, bleibt er dies so lange, bis man ihn wieder schließt. Ich würde aber gern, dass Menü 1 sich auch schließt, wenn man z.B Punkt 2
anklickt und somit öffnet.
Ich habe einmal die Menu.php hier veröffentlich. Es gibt noch 2 wichtige PHP Dateien. In der ist die Menüstruktur editierbar und in der 2. wird aus den einzelnen Punkten eine Grafik erstellt. Die eigentlich Funktionsweise ist jedoch in dieser Datei. Wenn mir jemand helfen kann wäre ich sehr dankbar.
D.H., wenn Menüpunkt 1 aufgeklappt ist, bleibt er dies so lange, bis man ihn wieder schließt. Ich würde aber gern, dass Menü 1 sich auch schließt, wenn man z.B Punkt 2
anklickt und somit öffnet.
Ich habe einmal die Menu.php hier veröffentlich. Es gibt noch 2 wichtige PHP Dateien. In der ist die Menüstruktur editierbar und in der 2. wird aus den einzelnen Punkten eine Grafik erstellt. Die eigentlich Funktionsweise ist jedoch in dieser Datei. Wenn mir jemand helfen kann wäre ich sehr dankbar.
PHP:
<?php
class menu {
var $image;
var $items;
var $open;
var $closed;
var $indent;
var $name;
function menu($image,
$name,
$open = '',
$closed = '',
$indent = ''
)
{
$this->items = array();
$this->image = $image;
$this->name = $name;
$this->open = $open;
$this->closed = $closed;
$this->indent = $indent;
}
function add($image, $href = "", $target = "") {
$n = count($this->items);
if (is_object($image)) {
$this->items[$n] = $image;
} else {
$this->items[$n]['image'] = $image;
$this->items[$n]['href'] = $href;
$this->items[$n]['target'] = $target;
}
}
function show($nest = 0) {
$urlimage = strtr ($this->name, ' ', '_');
$indent = '';
global $$urlimage;
global $PHP_SELF;
global $QUERY_STRING;
if ($nest) { // > php4
if(function_exists("str_repeat")){
$indent = str_repeat($this->indent, $nest);
} else { // php3
for($i=0; $i<$nest; $i++){
$indent = $indent . $this->indent;
}
}
}
if (isset($$urlimage)) {
printf('%s<a href="%s?%s">%s</a><br>',
$indent . $this->open,
basename ($PHP_SELF),
ereg_replace("{$urlimage}=&", '', $QUERY_STRING),
$this->image);
echo "\n";
while (list(,$item) = each($this->items)) {
if (is_object($item)) {
$item->show($nest + 1);
} else {
printf('%s<a href="%s"%s>%s</a><br>',
$indent . $this->indent,
$item['href'],
(!empty($item['target']) ? ' target="' . $item['target'] . '"' : ''), $item['image']);
echo "\n";
}
}
} else {
printf('%s<a href="%s?%s=&%s">%s</a><br>',
$indent . $this->closed,
basename ($PHP_SELF),
$urlimage, $QUERY_STRING,
$this->image);
echo "\n";
}
}
}
?>