Página 1 de 1

Xml produtos aleatórios home

Enviado: 23 Mai 2016, 15:24
por welq2005
Ola pessoal estou usando um xml para produtos aleatorios. quando subo ele funciona, mas quando clico no logo pra voltar para a home ele fica com a tela branca e só volta quando atualizo a pagina. se desinstalar volta ao normal. vou postar o codigo pra ver se vcs acham algo de errado. Gostaria de colocar o codigo direto no tpl mas não sei onde colocar e qual parte desse codigo usar.


<?xml version="1.0" encoding="UTF-8"?>
<modification>
<name>Random Product</name>
<code>random_product_rand</code>
<version>2.0.0</version>
<vqmver></vqmver>
<link></link>
<author>GreekOC</author>
<date>2016.01.06</date>
<file path="catalog/language/portuguese-br/module/latest.php">
<operation>
<search><![CDATA[$_['heading_title'] = 'Latest';]]></search>
<add position="replace"><![CDATA[$_['heading_title'] = 'Random Products';]]></add>
</operation>
</file>
<file path="catalog/controller/module/latest.php">
<operation>
<search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search>
<add position="replace"><![CDATA[$results = $this->model_catalog_product->getProducts($setting['limit']); srand((float)microtime() * 1000000); shuffle($results); $results = array_slice($results, 0, $setting['limit']);]]></add>
</operation>
</file>
</modification>

Re: Xml produtos aleatórios home

Enviado: 23 Mai 2016, 17:15
por Manoel Vidal
Olá.

Geralmente os produtos exibidos nos módulos são armazenados em cache de arquivo para que possam ser carregados mais rápido, você já verificou se não seria a criação do cache dos produtos que está ocasionando o problema?

Re: Xml produtos aleatórios home

Enviado: 24 Mai 2016, 08:40
por welq2005
Não verifiquei o que devo fazer? apagar o conteudo da pasta cache? se sim onde fica

Re: Xml produtos aleatórios home

Enviado: 24 Mai 2016, 09:28
por welq2005
Verifiquei a pasta cache catalog. apaguei ela. foi criada uma nova com o mesmo conteudo mas persiste o problema. Quando clico na logo ou atualizo a pagina algumas vezes ele fica com a tela em branco . ja sem o codigo ele não acontece isso.

Re: Xml produtos aleatórios home

Enviado: 24 Mai 2016, 09:48
por Manoel Vidal
O cache fica na pasta:
system/storage/cache/

Você está fazendo apenas alterações no controller, verifique no model que é o arquivo:
catalog/model/catalog/product.php

No model é que ficam as consultas no banco de dados e onde são gerados os arquivos de cache.

Re: Xml produtos aleatórios home

Enviado: 25 Mai 2016, 16:05
por welq2005
Manoel Vidal escreveu:O cache fica na pasta:
system/storage/cache/

Você está fazendo apenas alterações no controller, verifique no model que é o arquivo:
catalog/model/catalog/product.php

No model é que ficam as consultas no banco de dados e onde são gerados os arquivos de cache.

Qual seria a melhor forma de se fazer os produtos aleatórios ja fiz de tudo e não consigo o melhor resultado que obtive foi armazenando a sessão para não fazer varias consultas ao ficar atualizando a pagina. Mas quando acesso pela primeira vez o site ele fica com tela branca. Fiz as alterações direto no latest.tpl das seguintes formas.


Desta forma ele só da tela branca em algumas vzs que acesso o site pela primeira vez
if (isset($_SESSION['lol'])) {
$results = $_SESSION['lol'];

}else{
$results = $this->model_catalog_product->getProducts();


shuffle($results);
$v = array_chunk($results, 21);
$results = $v[0];
$_SESSION['lol'] = $v[0];

}



Desta Forma quando atualizo a pagina algumas vzs ou navego na loja e clico no logotipo para voltar pra home da tela branca.

$results = $this->model_catalog_product->getProducts(10 * (int)$setting['limit']);
srand((float)microtime() * 1000000);
shuffle($results);
$results = array_slice($results, 0, $setting['limit']);