Homefeatured, problèmes avec le module de cache pour sélectionner les produits au hasard
Homefeatured, problèmes avec le module de cache pour sélectionner les produits au hasard dans la configuration du module
Homefeatured module nous permet de visualiser un certain nombre de produits sur notre site Web et également pour chaque charge, ayant activé l’option Afficher au hasard des produits, charger ces produits au hasard. Ou cela devrait être.
Le problème réside lorsque nous avons activé le cache et peut être observés que, pour chaque chargement de la page, ce hasard n’existe pas. Cela a été prouvé et se passe dans les versions de module 1.5-1.6 pour prestashop version 1.6 homefeatured. X (discupad si je n’ai pas essayé en plusieurs versions : S). et, pour les autodidactes plus, je vous écris le code que vous le mettez dans le module homefeatured.
Je pense qu’il manque explication, a été les lignes en gras à considérer pour modification. Bien que, si vous sustituís les méthodes par ces cela fonctionnera garanti. Fondamentalement, il vérifie si activé ou non aléatoire dans les produits pour la collecte de cache ou dans le cas contraire, revenir en arrière pour voir les produits.
public void _cacheProducts)
{
$israndom = configurer : get (« HOME_FEATURED_RANDOMIZE ») ;
Si ( ! isset(HomeFeatured::$cache_products) | $israndom)
{
$category = nouvelle catégorie ((int) Configuration:get('HOME_FEATURED_CAT'), (int) contexte : getContext ()-> langue-> id) ;
$nb = (int) Configuration:get('HOME_FEATURED_NBR') ;
Si ($israndom)
HomeFeatured : $cache_products = $category-> getProducts ((int) contexte : getContext ()-> langue-> id, 1, (faire $nb ? $nb : 8), null, null, false, true, vrai, (faire $nb ? $nb : 8)) ;
d’autre
HomeFeatured : $cache_products = $category-> getProducts ((int) contexte : getContext ()-> langue-> id, 1, (faire $nb ? $nb : 8), « position ») ;
}
If (HomeFeatured : $ cache_products = false | vide (HomeFeatured::$cache_products)))
retourne la valeur false ;
}
public void hookDisplayHome ($params)
{
$retorno = « » ;
$israndom = Configuration:get('HOME_FEATURED_RANDOMIZE') ;
$this-> _cacheProducts () ;
$this-> smarty-> assign)
tableau)
« produits » => HomeFeatured : $ cache_products,
« add_prod_display » => Configuration:get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
« homeSize » => Image : getSize (ImageType:getFormatedName('home')),
)
);
Si ($israndom) {}
$retorno = $this-> affichage (__FILE__, 'homefeatured.tpl') ;
} else {}
$retorno = $this-> affichage (__FILE__, « homefeatured.tpl », $this-> getCacheId()) ;
}
Return $retorno ;
}
Ce code est sans aucun doute amélioré, mais maintenant je laisse vous et vos commentaires.
J’espère d’avoir servi comme support.
Une salutation,
Écrire un commentaire