web-dev-qa-db-fra.com

Approche recommandée pour la mise en œuvre de la chapelure

Je veux mettre en place des chapelures sur un site Web, maintenant je me bats sur la meilleure façon de les mettre en œuvre.

Les utilisateurs peuvent rechercher des produits, mais ils peuvent également accéder à une catégorie de produits pour trouver un produit. Sur une page de produit, l'utilisateur peut cliquer sur une catégorie de produit pour trouver des produits similaires. Les utilisateurs ont donc différents chemins pour atteindre un produit/une page spécifique.

Je pense avoir deux options pour mettre en œuvre la chapelure

Option 1: Ajoutez chaque page visitée au fil d'Ariane. Par exemple: Accueil> Résultats de recherche> produit 1> catégorie 2> produit 2 Inconvénient: le fil du pain peut devenir très long

Option 2: Spécifiez pour chaque page un fil d'Ariane fixe spécifique, par exemple: Accueil> Catégorie 1> Produit 1 Problème: que faire des produits qui appartiennent à plusieurs catégories?

Quelles sont tes opinions? Y a-t-il l'option 3 que j'ai négligée?

13
vdrmrt

Bien qu'ils s'appellent "chapelure" comme dans le conte de fées, l'objectif de la chapelure n'est pas de remplacer l'historique du navigateur. Donc, l'option 1 n'est pas une option.

C’est plutôt un instrument pour montrer à l’utilisateur comment il a trouvé le produit et surtout comment trouver d’autres produits logiquement placés "à côté" du produit trouvé.

Donc, c’est essentiellement l’option 2.

Si vous avez des produits appartenant à plusieurs catégories, vous avez trois options:

  • Afficher tous les chemins possibles vers le produit.
  • Indique le chemin d'accès de l'utilisateur au produit. (Cela nécessite que vous utilisiez la clé primaire de votre table produit-à-catégorie au lieu de l'ID de produit.) Cela implique que l'utilisateur obtiendra difficilement l'aide "fil d'Ariane" lors de la recherche.
  • Spécifiez une "catégorie principale" pour chaque produit qui détermine le fil d'Ariane affiché (et est utilisée à d'autres endroits, par exemple lorsqu'il y a un panier et que l'utilisateur clique sur un produit dans la vue du panier.)
9
AndreKR

Les miettes de pain sont censées être représentatives de la présentation de votre site, et non pas de la façon dont l'utilisateur accède à votre site, ce qui exclut quasiment l'option n ° 1. Je n'aimerais pas voir cela sur Amazon:

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

Bien que indicative de mon historique de navigation et du clic OCD, ce n'est pas représentatif du site :)

Je suppose que vous avez une base de données, car vous mentionnez des catégories de produits. Si vous avez des catégories de parents, vous avez une structure que vous pouvez utiliser. En supposant que vous ayez une page de couverture, nous pouvons simplement appeler cela "Home" sur la piste de navigation. Ensuite, en supposant que dans votre base de données vous avez des choses arrangées comme ceci:

table_productCategories
    _pkCategoryID
    _categoryName
    _fkParentCategoryID

Vous permettant d'avoir un arbre de catégories de produits:

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

... lorsque vous accédez à la page du produit, vous n'avez pas à vous soucier de savoir si le produit appartient à plus d'une catégorie. Si l'utilisateur y navigue et en utilisant une requête de base de données, nous pouvons créer un fil d'Ariane:

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

De plus, vous allez avoir des pages qui ne sont pas des produits. "A propos de nous" "Nous contacter", etc. Dans un CMS, le contenu de ces pages est dans la base de données et classé également.

table_contentCategories
    _pkCategoryID
    _categoryName
    _fkParentCategoryID

... vous avez eu l'idée. Cela signifie que toutes vos pages avec du contenu plutôt que des produits peuvent également être reliées:

Home > About > Finding Us in a web of backstreets
1
Moo-Juice

Je suis en désaccord avec la caractérisation de la chapelure dans la plupart des réponses, car il existe une différence (selon ce que je comprends) entre les catégories ou la taxonomie (la hiérarchie imbriquée des catégories allant du plus général au plus spécifique, par exemple Catégorie de produit> Sous-catégorie de produit> Produit> Modèles ou voitures> Berlines> Chevy> Impala> x5000) et le chemin à travers un site Web (je ne parle pas de l'historique du navigateur, mais d'un chemin sensible au contexte).

Si vous recherchez des berlines à quatre portes et que vous trouvez une liste de candidats puis une ou plusieurs de celles-ci, il serait plus important que vous retourniez à la liste renvoyée par le résultat de la recherche plutôt que les catégories de quel que soit le produit que vous avez choisi. (Ainsi, l'exemple ci-dessus pourrait être "accueil> recherche> chevy impala x5000" plutôt que "voitures> berlines> chevy> impala> x5000"

Utiliser la chapelure pour marquer l’endroit où vous avez été ressemble au choix 1 sauf que vous n’ajoutez pas indéfiniment de miettes à la fin, car la chapelure doit être ramassée pour tracer votre chemin en arrière (et lorsque vous ramassez un chapelure, tous des cumbs après cela sont supprimés parce que vous avez choisi un point particulier dans le chemin et que vous allez naviguer à partir de là.

Si la "chapelure" est une arborescence de catégories comme certains l'ont suggéré, pourquoi les appelons-nous "chapelure"? Ma compréhension de la chapelure est qu'elle est spécifique à un chemin et non à un modèle.

0
Larry Mills-Gahl