Identificar Categoria


Você está lendo:

Identificar Categoria

Este post foi marcado como:

Esse post não é uma aula sobre categorias, mas vou aproveitar pra deixar algumas dicas para que você não venha a criar códigos desnecessários no frontend, refazendo funções nativas que o sistema já oferece.

Então é muito importante que você conheça bem o sistema antes de sair criando módulos e funções que já existem.

Configurações em backend

Quando você acessa uma categoria, existem dezenas de informações que podem ser configuradas, excluindo assim a necessidade de criar códigos para verificar (se for categoria X faça isso, se for categoria Y troca aquilo).

Coisas que são possíveis fazer pelo backend:

Claro que é possível fazer outras coisas também, mas essas são algumas que você pode configurar sem precisar inserir uma única linha de código no template.

Modificando outros elementos

Vamos supor que você queira modificar um elemento muito específico da página quando acessar determinada categoria. (é difícil arrumar um bom exemplo, pois quase tudo pode ser feito pelo backend).

Quando você acessar uma categoria, o sistema registra na inicialização desta categoria algumas informações, como você pode ver em:

Dentro do método _initCatagory() o código que registra a variável possui informações sobre a categoria:

Então no seu template você consegue recuperar essas informações com o código:

Esse código pode ser útil quando você precisa coincidir diversas condições ao mesmo tempo, por exemplo: se a categoria for X, e o carrinho estiver com Y produtos, e o cliente for do grupo W, então a página deve ter Z.

Outras informações que você poderia obter do registro:

Em páginas que não são do tipo categoria, esse código não funciona (retorno null).

E quando não tem register?

Mas nem todas as páginas possuem um register na inicialização da classe. Então como podemos recuperar a categoria dos produtos na listagem da página inicial?

Vamos ver um exemplo, para isso abra o arquivo phtml responsável por carregar sua listagem de produtos - se você não sabe qual é o arquivo que esta utilizando, leia o post: Debug em Frontend.

Se você não sabe como listar produtos na página inicial leia o post: Produtos em Destaque na Página Inicial. Neste exemplo usarei o arquivo new.phtml que fica em:

Lembre-se de não alterar arquivos em base/default, faça sempre uma cópia para default/default ou para seu template/tema customizado.

Nesse caso usaremos a associação que existe entre produtos e categorias (que é N para N). E enquanto o código percorre produto por produto para exibir na tela, vamos aproveitar para recuperar a categoria de cada produto listado.

Basta adicionar esse código php dentro do foreach, logo abaixo do nome do produto e você vai ver o resultado.

listagem de produtos com categoria

Então com o código acima você tem um ponto de partida para muitas variações, você pode jogar o nome da categoria em uma variável para fazer comparações e tomar decisões de apresentação conforme a categoria.

Um produto pode estar associado a diversas categorias, por isso o getCategoryIds() retorna um array de objetos, e cabe você decidir qual categoria deseja carregar.

Qualquer dúvida basta usar o fórum da Escola Magento.

Sucesso!

Junte-se ao Clã

Você está sendo recrutado para o clã do Mario SAM.
Faça parte do maior grupo de usuários Magento da face da Terra.

Compartilhe este post...

twitter

0

...e ganhe pontos!

facebook

0

...e ganhe pontos!

google+

0

...e ganhe pontos!

Junte-se ao clá e acumule pontos

Criar Conta