Bonjour,
Je bloque sur ce problème depuis quelques jours...
Mon module affiche une page en FrontOffice après un lourd traitement en base de donnée. La page n'évoluant que très rarement, je souhaite tester sa présence dans le cache smarty.
Voici mon code avec ce que je souhaite faire :
class BlockPixoProPricesProPricesModuleFrontController extends ModuleFrontController
{
public function __construct()
{
$this->auth = true;
$this->authRedirection = urlencode(Context::getContext()->link->getModuleLink('blockpixoproprices', 'proprices', array()));
parent::__construct();
}
public function setMedia()
{
parent::setMedia();
$this->context->controller->registerStylesheet('modules-blockpixoproprices', 'modules/blockpixoproprices/views/css/proprices.css', ['media' => 'all', 'priority' => 50, 'inline' => false, 'attribute' => null]);
$this->context->controller->registerJavascript('modules-blockpixoproprices','modules/blockpixoproprices/views/js/proprices.js',['position'=>'bottom','priority'=>150,'inline'=>false,'attribute'=>'none']);
}
public function initContent()
{
parent::initContent();
if (MON TEMPLATE N'EST PAS EN CACHE)
{
ICI LE GROS APPEL A LA BASE DE DONNEE ET ENVOI DES VARIABLES A SMARTY
}
return $this->setTemplate('module:blockpixoproprices/views/templates/front/proprices.tpl');
}
Quels est l'instruction à mettre à la place de "MON TEMPLATE N'EST PAS EN CACHE" afin de ne pas executer le gros appel à la base de donnée et afficher directement le .tpl stockée dans le cache smarty?
PS: je connais la méthode dans le cas d'un hook mais pas celle qu'il faut utiliser dans ce cas là (affichage d'une page en frontoffice).
Merci pour votre aide...