2015-10-19 119 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

甚至所有菜單級別都無法顯示 –