Menu

3.6. 前台类目菜单

前台类目菜单

上一节我们完成了商品列表页面按类目筛选的功能,但是只能手动传入 category_id 参数才能访问到,这对普通用户是很不友好的。

本章节我们将要在顶部导航栏添加一个类目菜单,与 Laravel-China 的分类菜单类似:

file

1. 构建类目树

由于我们是一个无限级的商品类目,当用户鼠标移动到父类目时还需弹出对应的子类目,因此我们需要先将所有的类目从数据库中取出,并按照父子关系构建成树状。

由于这是一个比较通用的功能,因此我们把这个方法封装到 CategoryService 类中,首先创建这个类文件:

$ touch app/Services/CategoryService.php

app/Services/CategoryService.php

<?php
namespace App\Services;

use App\Models\Category;

class CategoryService
{
    // 这是一个递归方法
    // $parentId 参数代表要获取子类目的父类目 ID,null...

本文章首发在 Laravel China 社区

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
讨论数量: 7

mark666
递归影响效率
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
TaylorXie
菜单栏点击无效
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
Morrow
点击所有类目出错
0 个点赞 | 7 个回复 | 问答 | 课程版本 5.7
18874127314
我点击菜单栏也报错
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
royxu6002
分类菜单无法正常显示
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
老好人
前端报错,按钮无反应,求指点
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
刻意练习,每日精进。
1
点赞
291
浏览
7
讨论
贡献者

作者
leo