Jump to content

smarty cache modulo che non si aggiorna


Paolo68

Recommended Posts

Ho un problema con un modulo del template che ho acquistato il ttcmsbanners della template trip. Ho chiesto all'assistenza ma praticamente dicono di disabilitare la cache e forzare la compilazione. In sostanza funziona solo con la cache disabilitata. Ma invece vorrei abilitarla.

 

Qualcuno sa come risolvere questo problema della smarty chache quando attiva ? Questo modulo mostra dei banner sulla home page ma quando attivo la cache poi non si vedono più. Inoltre non dovrei vederli sulle altre pagine ed invece saltano fuori. Ho provato ad aggiungere la direttiva smarty {nocache} ma non funziona - è la parte di codice che non viene processato con la cache attiva. 

 

<!-- MODULE Block ttsubbanners -->
<div id="ttbanners" class="container">
{nocache}
{foreach from=$ttbannersinfos item=ttbannersinfo}
{$ttbannersinfo.text}
{/foreach}
{/nocache}
</div>
<!-- /MODULE Block ttsubbanners -->
 
Grazie
Link to comment
Share on other sites

Ma non saprei come agire ... diciamo che il modulo è abbastanza stupido. Crea un array di righe e butta fuori il codice che uno scrive nel BO nel modulo. (sono 4 immagini con effetto grafico al rollover)

Proverò a saltare tutto e scrivere direttamente il codice nel tpl del modulo.

Link to comment
Share on other sites

public function hookDisplayTopColumn($params)

{

$this->context->controller->addCSS($this->_path.'style.css', 'all');

if (!$this->isCached('ttcmsbanners.tpl', $this->getCacheId()))

{

$ttbannersinfos = $this->getInfos($this->context->language->id, $this->context->shop->id);

$this->context->smarty->assign(array('ttbannersinfos' => $ttbannersinfos, 'nbblocks' => count($ttbannersinfos)));

}

 

return $this->display(__FILE__, 'ttcmsbanners.tpl', $this->getCacheId());

}

Link to comment
Share on other sites

CVD  ^_^

public function hookDisplayTopColumn($params){
    $this->context->controller->addCSS($this->_path.'style.css', 'all');

    $ttbannersinfos = $this->getInfos($this->context->language->id, $this->context->shop->id);
    $this->context->smarty->assign(array('ttbannersinfos' => $ttbannersinfos, 'nbblocks' => count($ttbannersinfos)));
    
    return $this->display(__FILE__, 'ttcmsbanners.tpl');
}

Prova così, anche se dovrebbero fare una gestione migliore della cache, ossia, cancellarla quando fai degli aggiornamenti da BO.

In questo modo non c'è cache e vedrai immediatamente le modifiche.

Link to comment
Share on other sites

CVD  ^_^

public function hookDisplayTopColumn($params){
    $this->context->controller->addCSS($this->_path.'style.css', 'all');

    $ttbannersinfos = $this->getInfos($this->context->language->id, $this->context->shop->id);
    $this->context->smarty->assign(array('ttbannersinfos' => $ttbannersinfos, 'nbblocks' => count($ttbannersinfos)));
    
    return $this->display(__FILE__, 'ttcmsbanners.tpl');
}

Prova così, anche se dovrebbero fare una gestione migliore della cache, ossia, cancellarla quando fai degli aggiornamenti da BO.

In questo modo non c'è cache e vedrai immediatamente le modifiche.

Grazie mille adesso funziona bene

 

Paolo

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...