Qual é a melhor maneira de criar menus flexíveis?

5

Eu gostaria de ter um menu como este em surfdome . Não me refiro a interface do usuário, mas a flexibilidade deste menu.

Vou tentar explicar isso.

Eu tenho alguns produtos. Quero combinar esses produtos com algumas categorias e ter vários tipos de menus com base nessas categorias.

por exemplo. (in [] são as categorias e in () são os produtos)

Um menu como

[Men] -> [Shoes] -> [Running] -> (Product1)
[Men] -> [Accessories] -> [Running] -> (Product2)
[Women] -> [Shoes] -> [Running] -> (Product3)
[Women] -> [Accessories] -> [Running] -> (Product4)

ou

[Running] -> [Men] ->[Shoes] -> (Product1)
[Running] -> [Women] -> [Shoes] -> (Product3)
[Running] -> [Men] -> [Accessories] -> (Product2)
[Running] -> [Women] -> [Accessories] -> (Product4)

ou

[Shoes] -> [Men] ->[Running] -> (Product1)
[Shoes] -> [Women] -> [Running] -> (Product3)
[Accessories] -> [Men] -> [Running] -> (Product2)
[Accessories] -> [Women] -> [Running] -> (Product4)

...

O que eu acho que poderia ser feito com um tag system , mas eu gostaria de perguntar se alguém sabe uma maneira de fazer isso?

    
por pbaris 28.02.2013 / 08:49
fonte

2 respostas

2

sim, a marcação e a permutação das tags farão o trabalho.
você deve se perguntar, se você precisa de todas as combinações, como para o single triplet Men-Shoes-Running:

[Men] -> [Shoes] -> [Running]
[Men] -> [Running] -> [Shoes]
[Shoes] -> [Men] -> [Running]
[Shoes] -> [Running] -> [Men]
[Running] -> [Men] -> [Shoes]
[Running] -> [Shoes] -> [Men]

mas cuidado, se precisar de 4 tags para descrever um produto, o número de combinações provavelmente já é proibitivo para uma interface de usuário útil (fatorial 4 !: 24 combinações para essa categoria de produto).

para reduzir isso, você pode definir sinalizadores como top_level_category .

a outra opção é usar várias árvores, o que lhe dará um controle mais direto, mas será mais difícil de manter (especialmente se você tiver alterações frequentes em produtos e categorias)

    
por 28.02.2013 / 09:22
fonte
2

Eu fiz algo semelhante com o Apache Solr e suas facetas (mais ou menos como tags). É incrivelmente rápido para contar o número de produtos para qualquer combinação.

Você começa atribuindo aspectos úteis aos seus produtos. Essas podem basicamente vir de três formas:

valor único: pode ter apenas uma entrada para um produto, como sexo ou faixa etária (bebê, criança, adulto) ou marca.

multi valor: pode ter várias entradas para um produto, como descrições técnicas. Normalmente, esses são menos interessantes para os menus, mas, neste caso, pode ser interessante mostrar um produto em vários sortimentos, como 'homens' e 'ao ar livre' ou qualquer outra coisa.

hierárquico: um pouco complicado primeiro. Nós os usamos para coisas como car_brand - > car_model - > estruturas de built_year.

Você pode pedir ao Solr para começar com algo como: "a faceta de gênero deve ser 'masculina'" e a recuperação conta para todas as outras facetas e mostra aquelas com uma contagem > 0 como opções de nível seguinte. Até certo ponto, você pode fazer isso em tempo real (e combiná-lo com a pesquisa de texto completo). Embora para algumas áreas, armazenemos em cache os resultados da consulta, uma vez que a criação de uma estrutura muito profunda ainda pode levar algum tempo. (Mesmo se você precisar armazenar essas contagens, ainda é muito melhor obtê-las por meio dessa interface de consulta do que gravar código que faça as mesmas contagens manualmente.)

    
por 28.02.2013 / 10:03
fonte

Tags