Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP导航调用相同<;ul>;_Php_Magento - Fatal编程技术网

PHP导航调用相同<;ul>;

PHP导航调用相同<;ul>;,php,magento,Php,Magento,我正在尝试整合boostrap,我面临着一些我不太理解的问题。。。PHP。基本上我需要的是将class=“nav”添加到ul,并将class=“dropdown menu”添加到子菜单ul,但它重复了两次nav类。这是代码。非常感谢你的帮助 <div class="navbar navbar-inverse"> <div class="navbar-inner"> <div class="navbar"> <!-- menu st

我正在尝试整合boostrap,我面临着一些我不太理解的问题。。。PHP。基本上我需要的是将class=“nav”添加到ul,并将class=“dropdown menu”添加到子菜单ul,但它重复了两次nav类。这是代码。非常感谢你的帮助

<div class="navbar navbar-inverse">
<div class="navbar-inner">
    <div class="navbar">
        <!-- menu start -->
        <ul class="nav" id="nav">
            <li  class="level0"> <a class="dropdown-toggle" href="#"   class=""><span>Dashboard</span></a></li>
            <li onmouseover="Element.addClassName(this,'over')" onmouseout="Element.removeClassName(this,'over')" class=" active  parent dropdown level0"> <a class="dropdown-toggle" href="#"  onclick="return false" class="active"><span>Sales</span></a>
                <ul class="nav">
                    <li  class="level1"> <a class="dropdown-toggle" href="#" class=""><span>Orders</span></a></li>
                    <li  class="level1"> <a class="dropdown-toggle" href="#" class=""><span>Invoices</span></a></li>
                    <li  class="level1"> <a class="dropdown-toggle" href="#" class=""><span>Shipments</span></a></li>
                    <li  class="level1"> <a class="dropdown-toggle" href="#" class=""><span>Credit Memos</span></a></li>
                    <li  class="level1"> <a class="dropdown-toggle" href="#" class=""><span>Transactions</span></a></li>
                    <li  class="level1"> <a class="dropdown-toggle" href="#" class=""><span>Recurring Profiles (beta)</span></a></li>
                    <li  class="level1"> <a class="dropdown-toggle" href="#" class=""><span>Billing Agreements</span></a></li>
                    <li  class="level1"> <a class="dropdown-toggle" href="#" class=""><span>Terms and conditions</span></a></li>
                    <li onmouseover="Element.addClassName(this,'over')" onmouseout="Element.removeClassName(this,'over')" class="  parent dropdown last level1"> <a class="dropdown-toggle" href="#"  onclick="return false" class=""><span>Tax</span></a>
                        <ul class="nav"> <!--Need to add .dropdown-menu here-->
                            <li  class="level2"> <a class="dropdown-toggle" href="#" class=""><span>Manage Tax Rules</span></a></li>
                            <li  class="level2"> <a class="dropdown-toggle" href="#" class=""><span>Manage Tax Zones &amp; Rates</span></a></li>
                            <li  class="level2"> <a class="dropdown-toggle" href="#" class=""><span>Import / Export Tax Rates</span></a></li>
                            <li  class="level2"> <a class="dropdown-toggle" href="#" class=""><span>Customer Tax Classes</span></a></li>
                            <li  class="last level2"> <a class="dropdown-toggle" href="#" class=""><span>Product Tax Classes</span></a></li>
                        </ul>
                    </li>
                </ul>
            </li>
<!--THE PHP-->
            <?php 
            public function getMenuLevel($menu, $level = 0)
            {
                $html = '<ul class="nav" ' . (!$level ? 'id="nav"' : '') . '>' . PHP_EOL;
                foreach ($menu as $item) {
                    $html .= '<li ' . (!empty($item['children']) ? 'onmouseover="Element.addClassName(this,\'over\')" '
                        . 'onmouseout="Element.removeClassName(this,\'over\')"' : '') . ' class="'
                        . (!$level && !empty($item['active']) ? ' active' : '') . ' '
                        . (!empty($item['children']) ? ' parent dropdown' : '')
                        . (!empty($level) && !empty($item['last']) ? ' last' : '')
                        . ' level' . $level . '"> <a class="dropdown-toggle" href="' . $item['url'] . '" '
                        . (!empty($item['title']) ? 'title="' . $item['title'] . '"' : '') . ' '
                        . (!empty($item['click']) ? 'onclick="' . $item['click'] . '"' : '') . ' class="'
                        . ($level === 0 && !empty($item['active']) ? 'active' : '') . '"><span>'
                        . $this->escapeHtml($item['label']) . '</span></a>' . PHP_EOL;

                    if (!empty($item['children'])) {
                        $html .= $this->getMenuLevel($item['children'], $level + 1);
                    }
                    $html .= '</li>' . PHP_EOL;
                }
                $html .= '</ul>' . PHP_EOL;

                return $html;
            }


  • 我不能很好地测试它,因为我没有空间来放置所有这些字段和其他部分,但是我看到你有一个递归调用的函数。这将导致第二个“id=“nav””

    公共函数getMenuLevel($menu,$level=0)
    {
    /*此处声明id=“nav”*/
    $html='
      '; foreach($菜单作为$项){ $html.='”.PHP_EOL; 如果(!空($item['children'])){ /*此行再次调用该函数,这将导致id=“nav”再次发生*/ $html.=$this->getMenuLevel($item['children',$level+1); } $html.=''.PHP\u EOL; } $html.='
    '.PHP\u EOL; 返回$html; }
    有一种猜测是为了更好地检查$level是什么,因为我认为您的$级别可能给出了错误的答案

    public function getMenuLevel($menu, $level = 0)
    {
    
        $idnav = '';
        if ($level === 0) 
            $idnav = 'id="nav"';
    
        $html = '<ul class="nav" ' . $idnav . '>' . PHP_EOL;
        foreach ($menu as $item) {
            $html .= '<li ' . (!empty($item['children']) ? 'onmouseover="Element.addClassName(this,\'over\')" '
    .....
    
    公共函数getMenuLevel($menu,$level=0)
    {
    $idnav='';
    如果($level==0)
    $idnav='id=“nav”';
    $html='
      '.PHP\u EOL; foreach($菜单作为$项){ $html.='
      public function getMenuLevel($menu, $level = 0)
      {
      
          $idnav = '';
          if ($level === 0) 
              $idnav = 'id="nav"';
      
          $html = '<ul class="nav" ' . $idnav . '>' . PHP_EOL;
          foreach ($menu as $item) {
              $html .= '<li ' . (!empty($item['children']) ? 'onmouseover="Element.addClassName(this,\'over\')" '
      .....
      
      <?php
          public function getMenuLevel($menu, $level = 0)
          {
              $html = '<ul class="nav" ' . (!$level ? 'id="nav"' : '') . '>' . PHP_EOL;
       /*notice*/
              while (!empty($item['children'])) {
                  foreach ($menu as $item) {
                      $html .= '<li ' . (!empty($item['children']) ? 'onmouseover="Element.addClassName(this,\'over\')" '
                          . 'onmouseout="Element.removeClassName(this,\'over\')"' : '') . ' class="'
                          . (!$level && !empty($item['active']) ? ' active' : '') . ' '
                          . (!empty($item['children']) ? ' parent dropdown' : '')
                          . (!empty($level) && !empty($item['last']) ? ' last' : '')
                          . ' level' . $level . '"> <a class="dropdown-toggle" href="' . $item['url'] . '" '
                          . (!empty($item['title']) ? 'title="' . $item['title'] . '"' : '') . ' '
                          . (!empty($item['click']) ? 'onclick="' . $item['click'] . '"' : '') . ' class="'
                          . ($level === 0 && !empty($item['active']) ? 'active' : '') . '"><span>'
                          . $this->escapeHtml($item['label']) . '</span></a>' . PHP_EOL;
      
                    }
        /* here is the tricky part */
                    $html .= '</li>' . PHP_EOL;
                    $html .= $this->getMenuLevel($item['children'], $level + 1);
              }
              $html .= '</ul>' . PHP_EOL;
      
              return $html;
          }
      ?>