2011-02-06 10 views
1

J'ai un problème de mise en cache dans les modèles imbriqués dans Smarty 3. Il semble que lorsque je fais un {include} Smarty ignore les paramètres de mise en cache du modèle d'appelant. Par exemple, en supposant que le cache de Smarty a été activé dans le contrôleur:Problèmes de mise en cache Smarty avec les modèles imbriqués

En template1.tpl:

{include file='template2.tpl' nocache} 

En template2.tpl:

{include file='template3.tpl'} 

Dans template3.tpl

{$smarty.now} 

La valeur {$smarty.now} affichée sur la page est, jusqu'à ce que le cache ne soit pas effacé, toujours égale à t L'heure de la visualisation de la première page, bien que le premier sous-modèle soit obligé de ne pas être mis en cache. Ceci est un problème ennuyeux pour moi, puisque j'ai besoin de contrôler les paramètres de mise en cache de tous le contenu de template2.tpl et ses sous-modèles de template1.tpl.

Y a-t-il des solutions de contournement élégantes?

+0

Si ma réponse vous a aidé, vous devriez envisager de marquer comme une réponse –

Répondre

0

Smarty ne met pas en cache le contenu de template2 (déplacez {$smarty.now} leur), mais cache le template3. Incluez-le avec nocache aussi.

J'ai connu le même problème et je REFONTE mon modèle, donc je suis en mesure de mettre en cache la plus grande partie et que les parties sans besoin de mise en cache I entourée de {nocache} content {/nocache}

Questions connexes