我想在网站上实现面包屑,现在我在努力最好地实现它们。

用户可以搜索产品,但也可以导航到产品类别以找到产品。用户可以在产品页面上单击产品类别以查找类似产品。因此,用户使用不同的途径可以访问特定的产品/页面。

我认为我有两种选择来实现面包屑

方法1:
添加每个访问的页面到面包屑。例如:主页>搜索结果>产品1>类别2>产品2

选项2:
为每页指定一个特定的固定面包屑例如:主页>类别1>产品1
问题:如何处理多个类别的产品?

您如何看待?我忽略了选项3吗?

#1 楼

尽管在童话故事中它们被称为“面包屑”,但面包屑的目的并不是要取代浏览器的历史记录。因此,选项1不是选项。

它们是一种工具,向用户展示他如何找到产品,尤其是向用户展示如何找到逻辑上位于找到的产品旁边的其他产品。

所以基本上是选项2。

如果您的商品属于多个类别,则有三个选择:产品的所有可能路径。
显示用户使用该产品的路径。 (这要求您使用产品到类别表的主键而不是产品ID。)这意味着,用户在搜索时几乎不会得到“搜索>产品”面包屑的帮助。
指定“主要”类别”,用于确定显示的面包屑(并在其他地方使用,例如,当有购物车并且用户在购物车视图中单击产品时使用。)


评论


好的,让我们转储选项1,但是您认为在面包屑中显示用户是如何进入产品的,即使是通过搜索,这也是一个好主意。例如:首页>搜索结果>产品_1,首页>类别_1>产品_1,或首页>类别_2>产品_1

–vdrmrt
2010年11月8日在20:51

从我给的三种可能性中,我没有最爱。这取决于应用程序。如果您没有“主要类别”,并且只想要面包屑中的一条路径,那么显示用户如何使用该产品可能是您的唯一选择。

– AndreKR
2010年11月9日,0:28

#2 楼

面包屑应该代表您的网站布局,而不是用户访问您网站的方式,这几乎排除了选项1。我不希望在亚马逊上看到此内容:

Home>Products>Home>PS3 Games>Call of Duty>PS3 Games>Funky Boxer Shorts->Add To Cart


虽然表示我的浏览历史记录和OCD单击,但它并不代表该网站:)

正如您提到的产品类别,我假设您具有数据库后端。如果您有父类别,则那里有一个可以使用的结构。假设您有一个首页,我们可以在面包屑路径上将其称为“主页”。然后,假设您在数据库中进行了如下排列:

table_productCategories
    _pkCategoryID
    _categoryName
    _fkParentCategoryID


让您拥有以下产品类别树: br />
...然后,每当您访问产品页面时,您都不必担心产品是否属于多个类别,用户可以在那里导航并使用db查询来构建面包屑作者:

Software
    Windows
        Apps
        Games
        Crash-To-Desktop
    Linux
        Servers
        3-Games
Hardware
    Laptops
    PCs
    Missile-Launchers


此外,您还将拥有非产品页面。 “关于我们”,“联系我们”等。在CMS中,这些页面的内容也位于数据库中并进行了分类。

Home > Software > Windows > Games > Aunt Dolly and the Scared Sheep


...你明白了。这意味着您所有带有内容而不是产品的页面也可以被面包屑:

table_contentCategories
    _pkCategoryID
    _categoryName
    _fkParentCategoryID


评论


您的第一个陈述确实很狭窄。有些人使用基于位置的面包屑来指示您在站点中的位置,而其他人使用基于路径的面包屑来指示用户如何到达他在站点中的位置。我想说后者更符合“面包屑”的概念。您网站的内容是确定哪个更好的重要因素。

–约翰·布莱索(John Bledsoe)
2010年11月8日13:35

同意,也许确实是这样。我主要是指“将当前页面添加到面包屑”建议,该建议将产生我给出的示例输出。

– Moo-Juice
2010年11月8日13:45

#3 楼

我必须不同意大多数答案中面包屑的特征,因为在类别或分类法(从最一般到最具体的类别的嵌套类别层次结构)之间(据我所知)存在差异(例如,产品类别>产品子类别>产品>模型或汽车>轿车>雪佛兰> impala> x5000)以及网站的路径(我不是在说浏览器的历史,而是上下文相关的路径)。


如果要搜索四门轿车,然后找到一个候选列表,然后向下钻取一个或多个,则对您而言,升回到搜索结果返回的列表比提升类别更为重要。您选择的任何产品。 (因此,上面的示例可能是“首页>搜索>雪佛兰黑斑羚x5000”,而不是“汽车>轿车>雪佛兰>黑斑羚> x5000”


使用面包屑作为位置标记)您一直与选择1相似,不同之处在于您不会无限期地添加面包屑,因为面包屑的目的是拾取面包屑以追溯您的路径(当您拾取面包屑时,之后的所有面包屑都将被移除,因为您已经选择了路径中的特定点,并将从那里导航。


如果“面包屑”是此处建议的类别树,为什么我们将它们称为“面包屑”我对面包屑的理解是,它们是路径特定的,而不是模型特定的。



评论


取决于您问谁。 (实际上,他们在那里列出了另一个模型。)这时,该术语基本上代表通用的“ x> y> z”视觉小部件,实现者还需对他们使用的是哪种实际方法进行第二次决策。 。

– Su'
2012年5月5日20:29