cache

Actualizar el cache de Drupal cuando hay un nuevo comentario

Si hemos dado los derechos a los usuarios anónimos de enviar comentarios sin nuestra aprobación y que hemos activado el cache de Drupal con una duración de vida de tres horas; que pasa con los comentarios durante este lapso de tres horas en el cual el cache no se actualiza? Los usuarios anónimos no podrán ver los nuevos comentarios, aún si ellos mismos son los autores!

Como podemos entonces actualizar automáticamente el cache cuando un nuevo comentario ha sido enviado?

Para ello, vamos a programar un pequeño módulo que implementará une función de type hook_comment() como sigue:

<?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) {
   
// recuperar la URL abosulta del nodo
   
$url = url('node/'. $nid, array('absolute' => TRUE));
   
// Eliminar el registro en el cache para esta URL
   
cache_clear_all($url, 'cache_page');
  }
}
?>

Tags:

Arcerca del autor

Karim BoudjemaKarim Boudjema. Un belga apasionado de las TIC's en los Andes de Bolivia.

Ver mi perfil en LinkedInVer mi perfil en Twitter

>> Más...

Comentarios recientes