【问题标题】:How to determine breadcrumbs for products with multiple categories?如何确定具有多个类别的产品的面包屑?
【发布时间】:2010-09-11 19:11:42
【问题描述】:

我设计了一个电子商务系统,我的产品可以属于多个类别。这适用于搜索和浏览,并允许用户更轻松地找到产品。

但是,我还在产品页面上实现了面包屑导航,但我不知道如何确定产品应该显示在哪个类别中,因为它可能是产品所在的任何类别。理想情况下,我不希望只是随机选择一个类别。

有人有什么想法吗?我将不胜感激!

谢谢,尼科

【问题讨论】:

  • 面包屑是用户到该页面的路径——与产品相关的类别无关。如果他们在搜索中找到了该项目,则应该是 Search > Product_a
  • 是的,但是对于像类别这样的分层列表 --> 产品,我认为显示这种关系更有意义,为他们提供另一种浏览相似产品的方式(除了标签或“相关项目”)。我知道“面包屑”在语义上应该是你到达这里的路径,所以在这种情况下它可能应该被命名为“层次路径”。

标签: php mysql e-commerce


【解决方案1】:

如何根据您目前最想推广的内容设置全局加权类别,或者根据更适用于产品类别的“本地”权重。无论哪种情况,如果发生冲突,他们的权重都可以解决。

我会选择第二个。总会有办法选择更适合产品的类别。

【讨论】:

    【解决方案2】:

    因为您的类别是分层的,所以我建议如果特定产品属于多个类别,那么它的面包屑应该首先包含根类别然后是子类别,用户越缩小导航范围,附加的子类别就越多面包屑。

    【讨论】:

      【解决方案3】:

      您应该创建几个面包屑行(路径)。每个路径将代表产品所在的类别之一。您应该显示与产品类别数量一样多的路径。这会给客户一个不错的选择。

      【讨论】:

        【解决方案4】:

        您可以使用闭包表来表示您的多对多关系。在该闭包表中,您可以包含路径长度和面包屑列。因此,每个产品都将具有与其分层祖先一样多的面包屑。

        您可以从 Bill Karwin 那里找到有关回复和资源的更多信息,尤其是 MySQL Closure Table hierarchical database - How to pull information out in the correct orderhttp://www.slideshare.net/billkarwin/models-for-hierarchical-data(转到幻灯片 40)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-30
          • 1970-01-01
          相关资源
          最近更新 更多