Bonjour à tous,
Je rencontre un problème de performance sur un de mes modules.
J'utilise un module permettant d'afficher et filtrer l'ensemble des combinaisons pour un produit.
J'ai créé un nouveau module qui permet d'associer un délais de livraison spécifique par combinaison. j'appel donc via un hook dans mon premier module afin d'afficher l'information ce qui donne :
...
{foreach from=$list_id_product_attribute item=id}
{$ipa = $id.id_product_attribute}
{assign var=link_combination value=$link->getProductLink($product, null, null, null, null, null, $ipa)}
{* DISPLAY HTML *}
{hook h='displayDeliveryTimingForProductAttribute' mod='delaislivraison' product_attribute=$ipa product=$id_product}
{* DISPLAY HTML *}
{/foreach}
...
Mon problème est que :
Cas 1 :
Si j'active le cache, j'ai la même valeur pour l'ensemble de mes combinaisons car il va systèmatiquement prendre la valeur en cache
Cas 2:
Je vide le cache à chaque appel :
$this->_clearCache('displayDeliveryTimingForProduct.tpl');
return $this->display(
__FILE__,
'views/front/displayDeliveryTimingForProduct.tpl',
array(
'deliveryTiming' => $productDeliveryTiming,
)
);
Et dans ce cas ma page met plus de 10s à s'afficher.
Comme puis-je gérer ce cas ? Je ne dois pas utiliser correctement le cache et/ou le hook. Pouvez-vous m'aider ?
Merci d'avance,
Cordialement,
Nicolas