извините, я все еще новичок в CodeIgniter. Я хочу спросить, как отобразить многоуровневое меню в CodeIgniter, используя веточку
Я хочу, чтобы это понравилось
— Меню 1.1
— Меню 1.1.2
— меню 1.1.2.3
-Меню 1.2
—menu1.2.1
Я сделал сценарий многоуровневого меню, но не работает
источник
menu_controller.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"],
));
}
$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>
Многоуровневое меню 3 не может отображаться
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);
}
Twig Code
<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>
Других решений пока нет …