Página 1 de 1
[Resolvido] Produtos SEM ESTOQUE direto para o Final da Listagem
Enviado: 30 Set 2015, 17:29
por leandromello
No category.tpl alterei o código abaixo para fazer com os produtos sem estoque irem direto para o final da listagem.
Funcionou, mas aconteceu outro problema, agora os produtos não seguem mais as ordens cadastradas no admin.
Código: Selecionar todos if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.quantity';
}
if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'DESC';
}
Qual seria a solução para este problema?
ou qual seria a maneira mais eficaz para deixar os produtos sem estoque no final da listagem?
Re: Produtos SEM ESTOQUE direto para o Final da Listagem
Enviado: 05 Out 2015, 10:20
por Marcio Soares
Leandro tudo bem?
Tenta colocar o sort pelo ID do produto e depois pela quantidade.
Re: Produtos SEM ESTOQUE direto para o Final da Listagem
Enviado: 07 Out 2015, 16:29
por leandromello
Márcio, mas como exatamente listo pelo ID, testei de algumas maneiras aqui e não deu certo.
o Valdeir PSR, me disse para usar o ARRAY multisort, mas também não consegui.
Re: Produtos SEM ESTOQUE direto para o Final da Listagem
Enviado: 22 Mai 2017, 16:16
por parrudinho
Pessoal tive esse mesmo problema usando a versão 2.2.0.0 e conseguir resolver da seguinte forma
Indo ate
catalog\model\catalog\product.php
Código: Selecionar todosif (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY LCASE(" . $data['sort'] . ") ";
} elseif ($data['sort'] == 'p.price') {
$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
} else {
$sql .= " ORDER BY " . $data['sort'];
}
} else {
$sql .= " ORDER BY p.sort_order";
}
E colocando
p.quantity<1, depois de
"ORDER BY"
Código: Selecionar todosif (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
$sql .= " ORDER BY p.quantity<1, LCASE(" . $data['sort'] . ") ";
} elseif ($data['sort'] == 'p.price') {
$sql .= " ORDER BY p.quantity<1, (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
} else {
$sql .= " ORDER BY p.quantity<1, " . $data['sort'];
}
} else {
$sql .= " ORDER BY p.quantity<1, p.sort_order";
}
Espero ajudar que esta com o mesmo problema.
Post original
https://stackoverflow.com/questions/371 ... st#tab-top
Re: Produtos SEM ESTOQUE direto para o Final da Listagem
Enviado: 01 Jun 2018, 11:01
por bolhadigital
Perfeito! Obrigada por deixar aqui sua ajuda, deu certinho !!! Meu Opencart é 3.0.2
Re: [Resolvido] Produtos SEM ESTOQUE direto para o Final da Listagem
Enviado: 20 Ago 2018, 10:27
por Viva mangue
OC 2.3.0.2 deu certinho
Re: [Resolvido] Produtos SEM ESTOQUE direto para o Final da Listagem
Enviado: 13 Set 2019, 17:42
por eugeniots
Usando aqui a Versão 3.0.3.2 (Brasil 1.4.3) e tudo perfeito, funcionou certinho! Tks!
Re: Produtos SEM ESTOQUE direto para o Final da Listagem
Enviado: 17 Set 2021, 02:19
por Simone
parrudinho escreveu: ↑22 Mai 2017, 16:16
Pessoal tive esse mesmo problema usando a versão 2.2.0.0 e conseguir resolver da seguinte forma... Indo ate catalog\model\catalog\product.php
Versão 3.0.3.3 (Brasil 1.4.15) rodando perfeito! Gratidão.