简体   繁体   English

递归下拉菜单在Bootstrap Codeigniter上未正确显示

[英]Recursive dropdown menu not showing correctly on Bootstrap Codeigniter

I have issues displaying a dropdown menu generated by a recursive function using a database. 我在显示由递归函数使用数据库生成的下拉菜单时遇到问题。 The parents are shown correctly below the items, but not as nav items, but just as a basic list. 父项正确显示在项目下方,但不是导航项,而是基本列表。

Here's the image with how it actually looks: 这是带有实际外观的图像: 在此处输入图片说明

And here's how it SHOULD look: 这是它的外观:

在此处输入图片说明

Some relevant code: 一些相关的代码:

Model: 模型:

<?php
class New_menu_model extends CI_Model {
    function get_domains() {
        $result = $this->db->get ( 'domenii' );
        return $result->result_array();
    }
}
    function recursive($parent, $result) {

        $has_children = false;
        foreach ( $result as $key => $value ) {
            if ($value ['parent'] == $parent) {
                if ($has_children === false && $parent) {
                    $has_children = true;
                    echo '<ul>' . "\n" ;
                }
                echo '<li>' . "\n";
                echo '<a href="/menu/domenii/' . $value ['id_domeniu'] . '">' . $value ['nume_domeniu'] . '</a>' . " \n";
                echo "\n";
                recursive ( $key + 1, $result );
                echo "</li>\n";
            }
        }
        if ($has_children === true && $parent)
            echo "</ul>\n";
    }

?>

View: 视图:

 <li class="dropdown"><?php echo recursive(0, $menu); ?></li>

Thanks! 谢谢!

It should be something like: 应该是这样的:

<li class="dropdown">

     <a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
          Dropdown <span class="caret"></span>
        </a>
        <ul class="dropdown-menu">
         <?php echo recursive(0, $menu); ?>
       </ul>
</li>

...and check echo '<ul>' . "\\n" ; ...并检查echo '<ul>' . "\\n" ; echo '<ul>' . "\\n" ; , it could be echo '<ul class="dropdown-menu">' . "\\n" ; ,可能是echo '<ul class="dropdown-menu">' . "\\n" ; echo '<ul class="dropdown-menu">' . "\\n" ; so the code should be: 因此代码应为:

 <li class="dropdown">

         <a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
              Dropdown <span class="caret"></span>
            </a>

             <?php echo recursive(0, $menu); ?>

    </li>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM