Si nous avons configuré notre installation Drupal pour permettre aux utilisateurs anonymes d’envoyer directement leurs commentaires sans approbation, et que nous avons activé le cache par défaut de Drupal avec une durée de vie de trois heures; que se passe-t-il avec les nouveaux commentaires durant ces trois heures où le cache ne s’actualise pas ? Et bien tout simplement, ils ne s’afficheront pas aux utilisateurs anonymes! Même si ceux-ci en sont les auteurs.
Comment pouvons dès lors actualiser automatiquement le cache quand un nouveau commentaire a été envoyé?
Pour cela nos allons créer un petit module qui implémentera une fonction de type hook_comment comme suit :
<?php
function modulename_comment($a1, $op) {
switch ($op) {
case 'insert':
case 'update':
$nid = $a1['nid'];
break;
case 'unpublish':
case 'delete':
$nid = $a1->nid;
break;
}
if ($nid) {
// Prendre l'URL absolue du node
$url = url('node/'. $nid, array('absolute' => TRUE));
// éliminer le registre du cache pour cette URL
cache_clear_all($url, 'cache_page');
}
}
?>


Commentaires récents
il y a 2 semaines 2 jours
il y a 2 semaines 6 jours
il y a 3 semaines 5 jours
il y a 4 semaines 35 min
il y a 5 semaines 6 jours
il y a 13 semaines 19 heures
il y a 13 semaines 2 jours
il y a 13 semaines 2 jours
il y a 13 semaines 2 jours
il y a 13 semaines 2 jours