在ThinkPHP框架中,可以通过使用递归和多维数组来实现无限级分类。具体步骤如下:
在数据库中创建一个分类表,包含字段id、name、parent_id等。
在模型中定义一个方法,查询出所有分类数据并以多维数组的形式返回。
public function getAllCategories($parent_id = 0){
$categories = $this->where('parent_id', $parent_id)->select()->toArray();
foreach($categories as $key => &$category){
$category['children'] = $this->getAllCategories($category['id']);
}
return $categories;
}
public function index(){
$categories = model('Category')->getAllCategories();
$this->assign('categories', $categories);
return $this->fetch();
}
<ul>
{% for category in categories %}
<li>
<a href="#">{{ category.name }}</a>
{% if category.children %}
{{ include('sub_categories.html', {'categories': category.children}) }}
{% endif %}
</li>
{% endfor %}
</ul>
高亮关键词:ThinkPHP、无限级分类、递归、多维数组、模型、控制器、模板。