【问题标题】:Best practice for outputting breadcrumbs in PHP在 PHP 中输​​出面包屑的最佳实践
【发布时间】:2011-06-25 10:31:47
【问题描述】:

作为我们正在开发的电子商务解决方案的一部分,CMS 可以选择让产品​​类别拥有无限数量的子类别,并且每个子类别都可以拥有无​​限数量的子类别。基本上,产品类别的嵌套级别是无限的。

类别的数据库表架构如下所示:

+-------------+-----------------+----------------+
| category_id |      name       |   parent_id    |
+-------------+-----------------+----------------+
|     1       |    Parent 1     |      null      |
|     2       | Child of Parent |        1       |
+-------------+-----------------+----------------+

我们想为类别导航的每个级别添加面包屑导航,所以我的问题是,在分配了父级的情况下遍历类别的最佳做法是什么,直到它到达顶层?

显然,我们可以将其编码在一个固定循环中(例如if($child->hasParent()) { echo '1'; if($child->children->hasParent() { } } 等。

如何遍历未知数量的类别,直到到达顶级类别(即没有分配parent_id 的类别?

【问题讨论】:

    标签: php mysql breadcrumbs


    【解决方案1】:

    只需使用 while 循环即可。

    while($child->hasParent()) {
         echo $child->name();
         $child = $child->Parent();
    }
    

    【讨论】:

      【解决方案2】:

      如果(父 class==null)

      那么 孩子 class==null

      否则 hasparent class(null)==0

      重复

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-08
        • 1970-01-01
        • 2011-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多