Homefeatured, problemas com o módulo de cache para selecionar produtos aleatórios

Homefeatured, problemas com o módulo de cache para selecionar produtos aleatórios na configuração do módulo

Alabaz
Actualizado em: 08/03/2024 1600
Homefeatured, problemas com o módulo de cache para selecionar produtos aleatórios
Partilhar:

Módulo de Homefeatured nos permite visualizar uma série de produtos em nosso site e, também, para cada carregamento, ter ativado a opção Aleatoriamente, indicar produtos, carrega esses produtos aleatoriamente. Ou que deveria ser.

modulo homefeatured configuration

 

O problema reside quando habilitado o cache e pode ser observados que, para cada carregamento de página, esta aleatoriedade não existe. Isto foi provado e acontece nas versões do módulo 1,5-1,6 para prestashop homefeatured versão 1.6. X (discupad se eu não tentei isso em versões mais: S). e, para os mais autodidacts, eu escrevo o código que você colocá-lo em homefeatured o módulo.

Eu acho que faz falta a explicação, tem sido as linhas em negrito a serem considerados para modificação. Embora, se você sustituís os métodos por estas trabalhará garantidas. Basicamente, ele verifica se habilitado ou não aleatoriedade em produtos para coletar o cache ou caso contrário, volte para ver os produtos.

 

 

_cacheProducts função pública)
{
$israndom = configurar: obter ('HOME_FEATURED_RANDOMIZE');
Se (! isset(HomeFeatured::$cache_products) | $israndom)
{
$category = nova categoria ((int) Configuration:get('HOME_FEATURED_CAT'), (int) contexto: getContext ()-> língua-> id);
$nb = (int) Configuration:get('HOME_FEATURED_NBR');
Se ($israndom)
HomeFeatured: $cache_products = $category-> getProducts ((int) contexto: getContext ()-> língua-> id, 1, (fazer $nb? $nb: 8), nulo, nulo, falso, verdadeiro, verdadeiro, (fazer $nb? $nb: 8));
mais
HomeFeatured: $cache_products = $category-> getProducts ((int) contexto: getContext ()-> língua-> id, 1, (fazer $nb? $nb: 8), 'posição');
}

 

Se (HomeFeatured: $ cache_products = false | vazio (HomeFeatured::$cache_products)))
retornar false;
}

 

 

função pública hookDisplayHome ($params)
{
$retorno = "";
$israndom = Configuration:get('HOME_FEATURED_RANDOMIZE');
$this-> _cacheProducts ();
$this-> smarty-> atribuir)
matriz)
«produtos» => HomeFeatured: $ cache_products,
'add_prod_display' => Configuration:get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
=> Imagem: getSize (ImageType:getFormatedName('home')), 'homeSize'
)
);
Se {} ($israndom)
$retorno = $this-> visor (Macrospara, 'homefeatured.tpl');
} {mais}
$retorno = $this-> visor (Macrospara, 'homefeatured.tpl', $this-> getCacheId());
}
retorno $retorno;
}

 

 

Esse código é certamente melhorou, mas agora deixo você e seus comentários. 

 

Espero ter servido como apoio.

Uma saudação,

0 comentários

Escrever um comentário

¿Qué te ha parecido?