:: Izak.pt ::

Also known as Mozack!

[PRESTASHOP] Blocklayered e atributos fora de stock

Olá,

Apesar de meio desaparecido, continuo a trabalhar arduamente em lojas PrestaShop e hoje, venho partilhar um problema que afeta muitos utilizadores e que a equipa do PrestaShop teima em não resolver. São inúmeros os bugs abertos relativos ao módulo blocklayered.

Se, como eu, as vossas lojas utilizam produtos baseados em tamanhos, o block layered apresenta o filtro por tamanho, no entanto, independentemente do que escolherem, aparecem mesmo os que tiverem o tamanho com quantidade 0, o que não faz sentido absolutamente nenhum.

A única forma de contornar a situação é colocar como desabilitado o tamanho em questão quando a quantidade é 0, o que na prática, não é muito cómodo…

Na minha versão 1.5.4 do PrestaShop, com o block layered versão 1.8.9 tive exatamente o mesmo problema e a solução, pelo menos para mim, não passa por desabilitar o tamanho cada vez que sai de stock, se não, não faria outra coisa…

Então, agarrei-me ao php e editei o ficheiro blocklayered.php para que os filtros ficassem corretos em relação ao tamanho. Para os interessados, aqui o MOD.

1 – Não Apresentar Produtos Com o Attributo Escolhido Fora de Stock

Abram o ficheiro blocklayered.php e por volta da linha 2375 encontram: case ‘idproductattribute’ : logo abaixo, tem 2 foreach, no segundo o código é:

substituam o código acima por:

Agora, se forem a uma categoria e filtrarem um tamanho, se o produto não tiver quantidades nesse tamanho ele não vai aparecer.

Agora, que está resolvido, aparece outro problema. Nos filtros do tamanho, continuam a aparecer todos os produtos com aquele tamanho, a conta não está certa. Para alterar isso, passo 2.

2 – Correção do Número de Produtos Com o Attributo Fora de Stock

Ora, é chato se, ao lado do tamanho nos filtros aparecerem 20 produtos com o tamanho 40 e na listagem aparecerem apenas 19…

Vamos corrigir! No mesmo ficheiro (blocklayered.php) por volta da linha 255 aparece public function indexAttribute($id_product = null), logo a seguir aparece o código:

substituam por:

OK. Concluído. Editem o ficheiro e enviem de novo para o servidor, não se esqueçam do backup.

Agora, na vossa área de administração, vão ao módulo Layered Navigation. Click em: Build Attribute Index

Vão à página de categoria onde havia o problema e faça um refresh, vai estar corrigido…

Abraços

Izak Jesus

view all post
Leave a comment
Comments (1)
[PRESTASHOP] Erro HTTPS na versão 1.5.5.0 :: Izak.pt :: • 9 anos ago

[…] o meu último post sobre o módulo blocklayered, fiz a atualização do PrestaShop da versão 1.5.4 para 1.5.5.0. Nesta atualização deparei-me […]

reply

Leave a Reply

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.

By Daniele Zedda • 18 February

← PREV POST

By Daniele Zedda • 18 February

NEXT POST → 34
Share on
2007 - 2024 © izak.pt Todos os direitos reservados. Super charged by Dotec and vitaminized by Daniel Jesus.