Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#62439
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?
#73540
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 todos
if (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 todos
if (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

Provavelmente está perdendo as configura&cc[…]

Vale Presentes

Olá, Desative através da seç[…]

Executar loja em servidor local

Seguindo a dica do Ricardo, segue um tutorial para[…]

Olá, Para começar, utilizando o Goo[…]