2015-10-19 96 views
0
显示CI中的多级菜单

对不起,我还在笨初学者我想问如何使用树枝
显示CI中的多级菜单我想喜欢这个
- 菜单1.1
- 菜单1.1.2
---菜单1.1.2.3
- 菜单1.2
--menu1.2.1
我做了一个多级菜单脚本,但不起作用

menu_controller.p马力如何用树枝

function __construct() 
{ 

    $this->load->model("blog/menu_model"); 
    $menu = array(); 
    $menu = $this->menu_model->get_by(array(
     "hide" => 1, 
     "parent" => 0, 
    )); 
    foreach($menus as $m => $submenu) 
    { 
     $submenu[$menu[$m]["id"]] = $ci->menu_model->get_by(array(
      "hide" => 1, 
      "parent" => $menu[$m]["id"], 
     )); 
    } 
    $ci->twig->set_variable("menu", $menu); 
    $ci->twig->set_variable("submenu", $submenu); 

} 

MY_Model.php

public function get_by($filter = array(), $limit = 0, $offset = 0, $sort = array(), $debug = 0) { 
     $this->db->from("menu"); 

     if(!empty($filter)) { 
      $this->db->where($filter); 
     } 

     if(!empty($sort)) { 
      foreach($sort as $key => $value) { 
       $this->db->order_by($key, $value); 
      } 
     } elseif(!is_array($sort)) { 
      $this->session->set_flashdata("warning", "Pengurutan data pada database tidak valid !"); 
      log_message("error", "Mode pengurutan data pada database tidak valid !"); 

      return false; 
     } 

     if($limit > 0) { 
      $this->db->limit($limit, $offset); 
     } 

     if($debug) { 
      var_dump($this->db->_compile_select()); 
     } 

     return $this->db->get()->result_array(); 
    } 

menu_view.php

<ul class = "main-menu"> 
{% For menus in menu%} 
{% If menus.position == "mainmenu"%} 
<li style = "background: # 264c84; color: # 264c84;"> <a href="{{ menus.muri menus.name }}"> {{}} {% if submenu [menus.id] | length> 0%} <span> & nbsp; </ span> {% endif%} </a> 
{% If submenu [menus.id] | length> 0%} 
<ul class = "sub-menu"> 
{% For the sub in the submenu [menus.id]%} 
<li> <a href="{{ sub.muri sub.name }}"> {{}} </a> </ li> 
{% Endfor%} 
</ ul> 
{% Endif%} 
</ li> 
{% Endif%} 
{% Endfor%} 
</ ul> 

screen shot menu

My Database

菜单多级3不能显示

+0

什么是错误你有?修复这些空间。删除这些。在这里检查什么是[CodeIgniter编码标准](https://codeigniter.com/userguide3/general/styleguide.html)。 – Tpojka

+0

菜单级别3无法显示 –

+0

数据不足。您必须在此修复语法。太多的空间错误。例如:'$ menu = array();'不会工作。此外,如果您需要某人的帮助,则需要显示模型代码和表格结构。 – Tpojka

回答

0

PHP代码

function __construct() 
{ 

    $this->load->model("blog/menu_model "); 
    $menu = array(); 
    $menu = $this->menu_model->get_by(array(
     "hide" => 1, 
     "parent" => 0, 
    )); 
    foreach ($menus as $m => $submenu) 
    { 
     $submenu [$menu [$m] ["id"]] = $ci->menu_model->get_by (array (
     "hide" => 1, 
     "parent" => $menu [$m] ["id"], 
     )); 
     $menu[$m]['submenu'] = $submenu; 
    } 
    $ci->twig->set_variable ("menu", $menu); 

} 

嫩枝代码

<ul class = "main-menu"> 
    {% For menus in menu%} 
    {% If menus.position == "mainmenu"%} 
    <li> 
     <a href="{{ menus.muri menus.name }}"> {{}} {% if menu['submenu'] | length> 0 %} <span> & nbsp; </ span> {% endif%} </a> 
     {% If menu['submenu'] | length> 0%} 
     <ul class = "sub-menu"> 
      {% For sub in menu['submenu'] %} 
      <li> <a href="{{ sub.muri sub.name }}"> {{sub.name}} </a> </li> 
       {% Endfor %} 
      </ul> 
     {% Endif%} 
    </li> 
    {% Endif%} 
    {% Endfor%} 
</ul> 
+0

甚至所有菜单级别都无法显示 –