【发布时间】:2015-10-19 18:10:27
【问题描述】:
对不起,我还是 CodeIgniter 的初学者 我想问一下如何使用 twig 在 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 无法显示
【问题讨论】:
-
您遇到了什么错误?修复这些空间。删除那些。在这里查看CodeIgniter coding standard 是什么。
-
菜单三级无法显示
-
数据不足。您必须在此处修复语法。空间错误太多。例如:
$ menu = array ();永远不会工作。另外,如果您需要某人的帮助,您可能需要显示模型代码和表结构。 -
我附上型号代码已经让你再看一遍
标签: php codeigniter menu twig multi-level