php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.11.2005, 13:04  
Neuer Benutzer
 
Registriert seit: 13.09.2005
Beiträge: 14
marcels
Standard Menu navigation

Hallo

Ich hab wieder mal ne Frage. Ich habe folgendes aufklappbares Menu. Wenn ich einen Link als ziehl angebe (index2.php?site=fotos) dann funkioniert es, es bleibt offen. Für meine gallerie benutze ich jedoch immer das selbe file und ändere bloss den Pfad für das verzeichnis, das ausgelesen werden soll. (index2.php?site=fotos&fotos=irgendwas).

Das Problem is nun das mein menu zwar die richtige stelle anzeigt jedoch automatisch zuklappt. D.h. wenn ich die nächste gallerie anschauen möchte muss ich wieder durch das ganz menu klicken. Hat jemand eine idee wie ich das ändern könnte? Hier mal der code. (hab das javasript einfach mal dazu kopiert)

PHP-Code:
<?php
// Javascript Teil
    
echo "        function toggle(id) {\n";
    echo 
"            if(document.getElementById) {\n";
    echo 
"            var el = document.getElementById(id);\n";
    echo 
"            el.style.display = (el.style.display == 'none') ? 'block' : 'none';\n";
    echo 
"            }\n";
    echo 
"        }\n";

// Menu array
    
$fotos = array();
    
$fotos['Main']                                 =    'index2.php?site=fotos&amp;fotos=1';
    
$fotos['menu1']['sub1']['pos1']                =    'index2.php?site=fotos&amp;fotos=2';
    
$fotos['menu1']['sub1']['pos2']                =    'index2.php?site=fotos&amp;fotos=3';
    
$fotos['menu1']['sub2']['pos1']                =    'index2.php?site=fotos&amp;fotos=4';
    
$fotos['menu2']['sub1']['pos1']                =    'index2.php?site=fotos&amp;fotos=5';
    
//Menu
    
function array_search_recursive($needle$haystack) {
        
$pos null;
        
$keys array_keys($haystack);
        while(!
$pos && (list($garbage$value)=each($keys))) {
            if(
is_scalar($haystack[$value])) {
                if(
$haystack[$value] === $needle)
                    
$pos[] = $value;
            } elseif(
is_array($haystack[$value])) {
                if(
$pos array_search_recursive($needle$haystack[$value]))
                    
array_unshift($pos$value);
            }
        }
        return 
$pos;
    }
    function 
draw_menu($fotos$preserve, &$id) {
        if(
$id == 0)
            echo 
"<div id=\"$id\">\r\n<ul class=\"menu\">\r\n";
        else
            echo 
"<div id=\"$id\" style=\"display:none;\">\r\n<ul class=\"menu\">\r\n";
            
$id += 1;
        foreach(
$fotos as $key=>$value) {
            if(
is_array($value)) {
                if(@
in_array($key$preserve))
                    
$toggle $id;
                    echo 
"<li class=\"menu\"><a class=\"menu\" href=\"#\" onclick=\"toggle($id);\">$key</a>\r\n";
                    
draw_menu($value$preserve$id);
            } else {
                echo 
"<li class=\"menufile\">";
                if(@
in_array($key$preserve))
                    echo 
"<a class=\"menulive\" href=\"$value\">$key</a>";
                else
                    echo 
"<a class=\"menu\" href=\"$value\">$key</a>";
                    echo 
"\r\n";
                }
        }
        echo 
"[/list]\r\n</div>\r\n";
        if(isset(
$toggle))
            echo 
"<script language=\"javascript\">toggle($toggle);</script>\r\n";
    }
    
$id 0;
    
$base basename($_SERVER['PHP_SELF']);
    
$self = isset($_SERVER['QUERY_STRING']) ? $base.'?'.$_SERVER['QUERY_STRING'] : $base;
    
$preserve array_search_recursive($self$fotos);
    
draw_menu($fotos$preserve$id);
?>
marcels ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.11.2005, 18:47  
Erfahrener Benutzer
 
Benutzerbild von Alpha Centauri
 
Registriert seit: 05.02.2005
Beiträge: 278
Alpha Centauri
Standard

Poste mal den Rest des Codes!
Alpha Centauri ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
horizontales Menü Fritz73 Scriptbörse 9 26.05.2008 22:26
Navigation fixen Desert PHP Tipps 2008 0 12.05.2008 17:00
Probs mit Layout für Navigation mit Grafiken/Hintergrund HTML, Usability und Barrierefreiheit 3 08.02.2006 19:56
Navigation snatch-ic PHP Tipps 2007 4 08.01.2006 12:11
wie gehts schöner/besser? AliceD HTML, Usability und Barrierefreiheit 1 06.09.2005 08:59
Menü aus MySQL Datenbank ausgelesen PHP Tipps 2005 9 02.06.2005 17:11
PHP Menu mit 2 untermenus PHP Tipps 2005 3 23.05.2005 00:04
so scrollen das menü usw. dableibt PHP Tipps 2005 10 21.05.2005 21:15
Dynamisches Menü mit Icons(!) zur Navigation Beitragsarchiv 9 20.04.2005 18:44
Menü auf php-Seite PHP Tipps 2005 20 01.02.2005 20:24
Mit Templates Navigation erstellen? (welches Templatesyste?) zwelch PHP Tipps 2004-2 5 18.11.2004 15:14
[Erledigt] PHP Navigation =&gt; Function aufrufen und Navigation ausgeb PHP Tipps 2004 6 14.10.2004 16:46
Navigation + php tikal PHP Tipps 2004 3 10.09.2004 15:50
Navigations menü aus einer datei einbinden PHP Tipps 2004 8 30.08.2004 15:19
[Erledigt] PopDown Menü fast fertig!! HTML, Usability und Barrierefreiheit 3 27.07.2004 00:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php menu, toggle menü mit php geöffnet halten, php menu navigation mit grafiken, array_search_recursive, menü mit bildern array, navigation php menu galerie, menu php

Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.