Eliminación de anuncios de las publicaciones al vencimiento del nodo Drupal y vencimiento automático
Una de las funciones necesarias para nuestro tablero de anuncios en Drupal será despublicar los anuncios que hayan estado activos durante cierto tiempo. Propongo comenzar utilizando módulos ya preparados, y luego intentaremos implementar esta funcionalidad con el módulo Rules. De los módulos existentes encontré 2 para Drupal 6 y 1 para Drupal 7, a saber:
Node expire - Drupal 6
Auto expire - Drupal 6 y 7
Drupal 6 Node Expire
Primero probaremos Node expire para Drupal 6:
http://drupal.org/project/node_expire
Utilizaré la versión 2.06
Instalamos y activamos el módulo Node expire
También necesitaremos el módulo Drupal Rules.
Ahora podemos gestionar el tiempo de expiración de los nodos por tipo de contenido. Vamos a la edición del tipo de contenido Anuncio:
Aquí podemos establecer cuánto tiempo permanecerá un nodo en el tablero de anuncios. Probemos con 1 semana. Usa las siguientes expresiones para establecer fechas:
+1 hour - 1 hora desde ahora
+2 hours - 2 horas desde ahora
+n hours - n horas desde ahora
+1 day - 1 día desde ahora
+2 days - 2 días desde ahora
+n days - n días desde ahora
+1 week - 1 semana
+2 weeks - 2 semanas
+n weeks - n semanas
+1 month - 1 mes
+2 months - 2 meses
+n months - n meses
+1 month 2 weeks 3 days 3 hours - 1 mes 2 semanas 3 días y 3 horas desde ahora
Probemos usando 1 week - es decir, una semana.
Ahora creamos un nodo del tipo de contenido Anuncio:
Verás que aparece la fecha de expiración del nodo, exactamente una semana después del día actual. Sí, hoy es 02-12-2011.
En el archivo readme.txt del módulo node expire puedes encontrar el código para importar una regla con el módulo Rules.
Pega el código del archivo readme.txt en el campo de importación:
Ahora tendrás una nueva regla que podrás editar desde el panel de administración: agregar un filtro por tipo de contenido o modificar la fecha de expiración.
No olvides configurar el cron para que los anuncios sean despublicados automáticamente.
Drupal 7 Auto Expire
Descargamos e instalamos el módulo Auto Expire.
Este módulo no necesita dependencias adicionales, por lo que puedes usarlo directamente. Solo debes configurar los permisos si deseas que otros roles puedan modificar la duración de los anuncios.
Luego vamos a la configuración del sitio y seleccionamos Auto Expire:
Ahora revisemos en detalle la configuración de Auto Expire:
Article - es el tipo de contenido base de Drupal, aunque puedes elegir cualquier otro tipo.
La casilla Expire activa las funcionalidades del módulo Auto Expire.
Days - cantidad de días durante los cuales los nodos del tipo seleccionado estarán publicados.
Warn - número de días antes de la expiración en los que se enviará una notificación al autor del contenido.
Purge - tiempo tras el cual el anuncio será eliminado completamente de la base de datos.
¡Nota! Actualmente el módulo Auto Expire está en desarrollo y aún no está listo para uso en producción. (Fecha: 07-12-2011)
Establece tus propios valores, configura el cron y tus anuncios serán despublicados automáticamente.
En la próxima lección veremos cómo implementar una funcionalidad similar usando el módulo Rules.