parsing Problem -- Bitte um Hilfe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • parsing Problem -- Bitte um Hilfe

    HalliHallo,

    es geht um ein dynamisches menu.

    ein Statement liefert mir folgendes array
    Code:
    Array ( 
    [0] => Array ( [mnu_level] => 1
                   [mnu_upper] => 0 
                   [mnu_lower] => 0 
                   [mnu_childs] => 0 
                   [nav_linkname] => Home 
                   [nav_url] => ?action=start ) 
    [1] => Array ( [mnu_level] => 1 
                   [mnu_upper] => 0 
                   [mnu_lower] => 0 
                   [mnu_childs] => 2 
                   [nav_linkname] => News & Features 
                   [nav_url] => ?action=news ) 
    [2] => Array ( [mnu_level] => 2 
                   [mnu_upper] => 0 
                   [mnu_lower] => 1 
                   [mnu_childs] => 0 
                   [nav_linkname] => Headlines 
                   [nav_url] => ?action=news&headlines ) 
    [3] => Array ( [mnu_level] => 2 
                   [mnu_upper] => 1 
                   [mnu_lower] => 0 
                   [mnu_childs] => 0 
                   [nav_linkname] => Coming Soon 
                   [nav_url] => ?action=news&coming ) 
    [4] => Array ( [mnu_level] => 1 
                   [mnu_upper] => 0 
                   [mnu_lower] => 0 
                   [mnu_childs] => 0 
                   [nav_linkname] => Gästebuch 
                   [nav_url] => ?action=gbook ) 
    [5] => Array ( [mnu_level] => 1 
                   [mnu_upper] => 0 
                   [mnu_lower] => 0 
                   [mnu_childs] => 0 
                   [nav_linkname] => Forum 
                   [nav_url] => ?action=forum ) )
    wenn ich das jetzt verarbeite via
    PHP-Code:
            for ($i=0$i count($side_nav); $i++)
                {
                echo 
    $side_nav[$i]['mnu_level'];
                
    $replace=array
                    (
                    
    'name' => strtoupper($side_nav[$i]['nav_linkname']),
                    
    'link' => 'index.php' htmlspecialchars($side_nav[$i]['nav_url'])
                    );

                
    $xtpl->assign('sidenav'$replace);

                if (
    $side_nav[$i]['mnu_level'] == 1)
                    {
                    if(
    $side_nav[$i]['mnu_childs'] == 0)
                    
    $xtpl->parse('left_content.menuItem');
                    else
                    
    $xtpl->parse('left_content.menuItemSub');
                    }
                else 
                    {
                     
    $xtpl->parse('left_content.menuItemSelect');
                     if((
    $side_nav[$i]['mnu_lower']==0)&&($side_nav[$i]['mnu_upper']==1))
                     
    $xtpl->parse('left_content.subclose');
                    }
                } 
    das entsprechende template
    Code:
    	<ul id="menu">
    	
    	<!-- BEGIN: menuItem -->
    	<li class="menuItem"><a href="{sidenav.link}"  title="{title}">{sidenav.name}</a></li><!-- END: menuItem -->
    	<!-- BEGIN: menuItemSub -->
    	<li class="menuItem"><a href="{sidenav.link}"  title="{title}">{sidenav.name}</a><ul style="display: none;">
    	<!-- END: menuItemSub -->
    	<!-- BEGIN: menuItemSelect -->
    	<li class="menuItemSelect"><a href="{sidenav.link}"  title="{title}">{sidenav.name}</a></li>
    	<!-- END: menuItemSelect -->
    	<!-- BEGIN: subclose -->
        </ul></li>
    	<!-- END: subclose -->
    	
    	</ul>
    liefert das folgende Menu-struktur:
    -Home
    -Gästebuch
    -Forum
    _News & Features

    wobei letzteres aber eigentlich an Stelle 2 gehört

    Hoffe mir kann jemand bei diesem Problem helfen
    Manchmal verliert ma eben ... und manchmal gewinnen die Anderen

  • #2
    Wir wissen ja nicht mal was die Methode parse macht ... bring das alles in eine Form wo man als Helfer per copy&paste das lokal reproduzieren kann... wenn du Glück hast findest du allein bei dem Vorgehen den Fehler schon selbst

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Hi,

      nun in diesem projekt verwende ich die xtemplate-Klasse. Bin aber jetzt dazu übergegangen, diese nicht mehr zu verwenden sondern phpsavant zu bevorzugen. Damit funktioniert es auch wunderbar.

      Danke
      derTrallala
      Manchmal verliert ma eben ... und manchmal gewinnen die Anderen

      Kommentar

      Lädt...
      X