Fórum OpenCart Brasil

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

#29668
shift escreveu:
shift escreveu:Olá pessoal, sou novo com o Opencart mas já utilizei outros lojas p/ teste.

mas vms direto ao assunto, ao colocar o código ele faz aleatoriamente os produtos mas ele não exibe apenas os 12 itens que foi determinado em SISTEMA>OPÇÕES >

* Itens por Página (Loja):

Como faço para determinar quantos itens vai ser exibidos aleatoriamente.


Grato a todos.

pESSOAL, SEGUE SOLUÇÃO P/ A Versão 1.5.2.1
seguindo o mesmo passo do acirgomesjunior

1. ACESSE A PASTA: catalog/controller/module/
2. ABRA O ARQUIVO: latest.php
3. PROCURE O CÓDIGO:
$results = $this->model_catalog_product->getProducts($data);
4. E ADICIONE ESTA LINHA NO CÓDIGO:


$results = $this->model_catalog_product->getProducts($data);

srand((float)microtime() * 1000000);
shuffle($results);
$results = array_slice($results, 0, $setting['limit']);

Desta forma o sistema define quantos itens ele vai exibir na página inicial, aqui no meu funcionou.

Amigo gostei muito parabéns, mais eu não acho o "$results" no featured.php
como faço?
abraços
#29994
Oi alguém conseguiu o código para a versão 1.5.4.1

Se colocar esse código acima me passa o seguinte erro.

Warning: http_build_query(): Parameter 1 expected to be Array or Object. Incorrect value given in C:\wamp\www\phitos\catalog\model\catalog\product.php on line 71

Abraços aguardo retorno
#29997
Ai pessoal uma resposta para minha pergunta.

Versão 1.5.4.1

Abre o arquivo:

"Sua loja"\catalog\controller\module\latest.php

Na linha

$results = $this->model_catalog_product->getProducts($data);

Add logo abaixo o seguinte:

srand((float)microtime() * 1000000);
shuffle($results);
$results = array_slice($results, 0, $setting['limit']);

Não se esqueça para que funcione na sua loja você precisar deixar instalado o modulo de produtos novos e colocar a quantidade que deseja que apareça na tela.

Dica para modificar o título de "Novidades" para algo tipo "Nossos Produtos" alterem o seguinte arquivo:

"Sua loja"\catalog\language\"Sualinguagem"\module\latest.php

Alterar:
$_['heading_title'] = 'Novidades';
Para:
$_['heading_title'] = 'Nossos Produtos';


Abraços.
#30467
joao mello escreveu:É para que versão? Pois no 1.5.1.1 não funciona dá erro.
Código: Selecionar todos
//$results = $this->model_catalog_product->getProducts($data); #linha original 
		
$results = $this->model_catalog_product->getLatestProducts(10 * (int)$this->config->get('latest_limit'));
srand((float)microtime() * 1000000);
shuffle($results);
$results = array_slice($results, 0, $this->config->get('latest_limit'));
Warning: shuffle() expects parameter 1 to be array, null given in \opencart151\catalog\controller\module\latest.php on line 27Warning: array_slice() expects parameter 1 to be array, null given in \opencart151\catalog\controller\module\latest.php on line 28Warning: Invalid argument supplied for foreach() in \opencart151\catalog\controller\module\latest.php on line 32
Bom dia.
Quando edito o código conforme indicado. Aparece na loja principal o seguinte: "Warning: http_build_query() [function.http-build-query]: Parameter 1 expected to be Array or Object. Incorrect value given in /home/infomilk/public_html/catalog/model/catalog/product.php on line 71"

Alguma dica? OpenCart 1.5.4

Obrigado!!!
#30566
robson712 escreveu:para 1.5 x que nosso amigo ai ta com duvidas só colar o seguinte codigo

$results = $this->model_catalog_product->getProducts(10 * (int)$this->config->get('latest_limit'));
srand((float)microtime() * 1000000);
shuffle($results);
$results = array_slice($results, 0, $this->config->get('latest_limit'));
Boa tarde amigo.

Na versão 1.5.4 colocando o código acima dá o seguinte: Warning: http_build_query() [function.http-build-query]: Parameter 1 expected to be Array or Object. Incorrect value given in /home/infomilk/public_html/catalog/model/catalog/product.php on line 71

Sabe dizer qual problema e como resolver?

Obrigado!!!
#30596
robson712 escreveu:

para 1.5 x que nosso amigo ai ta com duvidas só colar o seguinte codigo

$results = $this->model_catalog_product->getProducts(10 * (int)$this->config->get('latest_limit'));
srand((float)microtime() * 1000000);
shuffle($results);
$results = array_slice($results, 0, $this->config->get('latest_limit'));
Bom dia.
Colocando esse código na versão 1.5.4 dá o seguinte erro na página inicial: Warning: http_build_query() [function.http-build-query]: Parameter 1 expected to be Array or Object. Incorrect value given in /home/infomilk/public_html/catalog/model/catalog/product.php on line 71

Alguma dica?

Obrigado!!!
#37364
Na versão 1.5.5.1 (módulo produto em destaque) deve-se procurar em catalog/controller/module/featured.php o código
$products = explode(',', $this->config->get('featured_product'));
e adicionar
srand((float)microtime() * 1000000);
shuffle($products);

ou adicionar o seguinte código em um arquivo xml (vqmod):

<modification>
<id>Randomize Featured Products No Strain</id>
<version>1.0.0</version>
<vqmver>1.0.3</vqmver>
<author>qphoria</author>
<file name="catalog/controller/module/featured.php">
<operation error="skip"><!-- v1.5.x -->
<search position="after"><![CDATA[
$products = explode(',', $this->config->get('featured_product'));
]]></search>
<add><![CDATA[
srand((float)microtime() * 1000000);
shuffle($products);
]]></add>
</operation>
</file>
</modification>

Autoria do código xml = qphoria

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]