Página 1 de 1

Exibir produto esgotado na lista dos produtos 3x

Enviado: 16 Dez 2020, 14:46
por turcorossi
Olá a todos!

Estou com um certa dificuldade de identificar como fazer essa modificação.

Utilizo um template free do template Monster opc_electronic_electron_2501.

O mesmo já possui algumas modificações, mas tudo dentro do normal.

Utilizei no arquivo view/product/product.twing

A seguinte linha de código
Código: Selecionar todos
{% if stock >= 1 %}
<button type="button" id="button-cart" data-loading-text="{{ text_loading }}" class="btn btn-primary btn-lg btn-block"><i class="fa fa-shopping-cart" aria-hidden="true"></i>
ADICIONAR AO CARRINHO</button>
{% else%}
<button type="button" class="btn btn-fora-estoque">Este produto está sem estoque</button>
{% endif %}
O seguinte código é responsável na página do produto simplesmente por se o produto tiver estoque exibe o botão comprar.
Se não tiver estoque exibe um botão que o produto esta sem estoque.

Quero fazer o mesmo trabalho nas páginas das categorias.

Inseri no arquivo
controller/product/caregory.php a Array do stock como result['quantity'] - para que tenha um valor para exibir.
Código: Selecionar todos
$data['products'][] = array(
'product_id'  => $result['product_id'],
'stock'              => $result['quantity'],
E no arquivo ao qual lista os produtos na categoria que no meu tema é:
tvcmshelp_product_grid_view_design.twig

No caso no template default seria view/theme/template/product/category.twig

Inseri a mesma lógica
Código: Selecionar todos
{% if stock >= 1 %}
{% else%}
<span> Esgotado </span>
{% endif %}
Se o estoque tiver igual ou maior a 1 não exibe nada
Senão exibe o texto Esgotado.

Mas esta listando somente o texto esgotado.

Tentei módulos e tudo mais, pesquisei no fórum e Google e o retorno é sempre o mesmo, explicando como fazer na pagina do produto, mas estou querendo na listagem da categoria.

Mas as atuais lojas além de enviar os produtos sem estoque para o final da listagem na categoria informar já que o produto esta esgotado. E estou querendo seguir e mesma linha.

Obrigado

Re: Exibir produto esgotado na lista dos produtos 3x

Enviado: 16 Dez 2020, 21:05
por reds
Ola @turcorossi

Eu escrevi isso a algum tempo, então acho que pode lhe ajudar nessa questão e você pode escrever sua melhoria se baseando no XML abaixo.

https://www.opencart.com/index.php?rout ... n_id=26742
:D

Re: Exibir produto esgotado na lista dos produtos 3x

Enviado: 17 Dez 2020, 17:56
por turcorossi
reds escreveu: 16 Dez 2020, 21:05 Ola @turcorossi

Eu escrevi isso a algum tempo, então acho que pode lhe ajudar nessa questão e você pode escrever sua melhoria se baseando no XML abaixo.

https://www.opencart.com/index.php?rout ... n_id=26742
:D
Amigo @reds .
Tenho seu modulo aqui comigo.
Mas ele não funciona na lista de produtos de categoria.
Pelo menos no meu não.

Utilizei exatamente assim no controller/product/category.php
Código: Selecionar todos
'quantity'     			=> $result['quantity'],
 'text_out_of_stock'     => $result['stock_status'],

E inseri assim
No view/theme/default/tamplate/product/category.twig
Código: Selecionar todos
{% if product.quantity < 1 %}
<span>Indisponível</span>
{% else %} 
<span >Disponível</span>
 {% endif %}
Mas fica exibindo somente Indisponível.

:oops:

Re: Exibir produto esgotado na lista dos produtos 3x

Enviado: 17 Dez 2020, 22:24
por reds
Ola @turcorossi
minha modificação funciona perfeitamente em todo os locais para qual ela foi escrita, eu vi que nas versão 3.0.3.5 ou 6 existe um BUG com modificações, entao você pode usar o fix disponivel no link abaixo para isso.
https://github.com/opencart/opencart/bl ... cation.xml

Se o seu caso for um template de terceiro ai você deva analisar todas as questões do mesmo para um ajuste perfeito.

:)