PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   nested Menubaum mit php ausgeben (https://www.php-resource.de/forum/php-developer-forum/107149-nested-menubaum-mit-php-ausgeben.html)

sanktusm 24-11-2020 15:35

nested Menubaum mit php ausgeben
 
Hallo,
ich möchte folgende Baumstruktur mit dem unten stehenden Script ausgeben lassen:
PHP-Code:

<ol class="sortable">
       <
li id="menuItem_1">
       <
div class="menu-handle">
           <
span>
               
Home
           
</span>
           <
div class="menu-options">
               <
a href="#">Delete</a>
           </
div>
       </
div>
       <
ol>
           <
li id="menuItem_2">
           <
div class="menu-handle">
               <
span>
                   
About us
               
</span>
               <
div class="menu-options">
                   <
a href="#">Delete</a>
               </
div>
               </
div>
           <
ol>
               <
li id="menuItem_3">
                   <
div class="menu-handle">
                       <
span>
                           
Our Portfolio
                       
</span>
                       <
div class="menu-options">
                           <
a href="#">Delete</a>
                       </
div>
                       </
div>
               </
li>
           </
ol>
           </
li>
           <
li id="menuItem_4">
                   <
div class="menu-handle">
                   <
span>
                       
Our Team
                   
</span>
                   <
div class="menu-options">
                       <
a href="#">Delete</a>
                   </
div>
                   </
div>
           </
li>
       </
ol>
      

       <
li id="menuItem_5">
               <
div class="menu-handle">
               <
span>
                   
How it works
               
</span>
               <
div class="menu-options">
                   <
a href="#">Delete</a>
               </
div>
               </
div>
       </
li>
       <
li id="menuItem_6">
               <
div class="menu-handle">
               <
span>
                   
Contact us
               
</span>
               <
div class="menu-options">
                   <
a href="#">Delete</a>
               </
div>
               </
div>
       </
li>
   </
ol

dieses ist das Script, es gibt den Baum nicht richtig aus:

PHP-Code:

  public function editSectionHtml($menu_area_id$language_id$edited_section) {
        
$html "";

        
$tree $this->getTree($menu_area_id$language_id); //get the tree

        
$html .= "<ol class=\"nested-sortable\">\n"//start nested-sotable

    
for ($i=0$i<count($tree); $i++) {

  

        
$html .= "<li>Menu"//start li


    
$html .= "<input type=\"text\" name=\"section_" $tree[$i]['id'] . "\" value=\"" htmlspecialchars($tree[$i]['menu_name'], ENT_QUOTES"UTF-8") . "\">";
    
  

            if (isset(
$tree[$i]['level'], $tree[$i+1]['level']) AND $tree[$i]['level'] < $tree[$i+1]['level']) {
                
$html .= "\n<ol>\n"//start next level
            
} else  if(isset($tree[$i+1]['level']) AND $tree[$i]['level'] > $tree[$i+1]['level']) {
        
$diff $tree[$i]['level'] - $tree[$i+1]['level'];
                
$html .= str_repeat("</ol></li>\n"$diff) . "\n"//close level
      
} else if(empty($tree[$i+1]['level']) AND $tree[$i]['level'] < $tree[$i-1]['level']) {
                
$diff $tree[$i-1]['level'] - $tree[$i]['level'];
                
$html .= str_repeat("</ol></li>\n"$diff) . "\n"//close last level
            
} else {
                
$html .= "\n</li>\n"//close li of same levels
            
}

        }
      
$html .= "</ol></ol>\n";

        return 
$html;
    } 

Kann mir jemand einen Tipp geben, wie ich das richtig hinbekomme?

chorn 26-11-2020 17:07

definiere erstmal dein Problem und was "nicht richtig" bedeutet, dann kannst du die Stelle eingrenzen. Und wenn das jemand reproduzieren soll, liefere ein vollständiges Beispiel.


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:45 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG