Drupal node expire et auto expire : retrait automatique des annonces après expiration
Une des fonctions nécessaires de notre tableau d'annonces Drupal sera le retrait automatique des annonces après un certain temps de publication. Je propose de commencer par utiliser des modules prêts à l'emploi, puis d’essayer d’utiliser le module Rules pour cela. Parmi les modules disponibles, j'ai trouvé 2 pour Drupal 6 et 1 pour Drupal 7, à savoir :
Node expire - Drupal 6
Auto expire - Drupal 6 et 7
Drupal 6 Node Expire
Essayons d'abord Node expire pour Drupal 6 :
http://drupal.org/project/node_expire
J'utiliserai la version 2.06
Installez et activez le module Node expire
Vous aurez également besoin du module Drupal Rules.
Vous pouvez désormais gérer le délai de retrait des types de contenu spécifiques. Passons à la modification du type de contenu Annonce :
Ici vous définissez combien de temps un nœud restera dans le tableau d’annonces. Essayons une semaine. Utilisez ces expressions pour définir les dates :
- +1 hour – 1 heure depuis maintenant
- +2 hours – 2 heures depuis maintenant
- +n hours – n heures depuis maintenant
- +1 day – 1 jour depuis maintenant
- +2 days – 2 jours depuis maintenant
- +n days – n jours depuis maintenant
- +1 week – 1 semaine
- +2 weeks – 2 semaines
- +n weeks – n semaines
- +1 month – 1 mois
- +2 months – 2 mois
- +n months – n mois
- +1 month 2 weeks 3 days 3 hours – 1 mois 2 semaines 3 jours 3 heures depuis maintenant
Essayons +1 week, donc une semaine.
Créons maintenant un nœud de type Annonce :
Vous voyez qu’une date d’expiration est ajoutée automatiquement, une semaine après la date actuelle (au moment où j’écris, 2011-12-02).
Dans le fichier readme.txt du module node expire, vous trouverez le code pour importer une règle via le module Rules.
Collez ce code dans la fenêtre d’importation :
Vous aurez alors une règle supplémentaire, que vous pourrez modifier dans l’administration : appliquer un filtre par type de contenu ou modifier la date de retrait.
N’oubliez pas de configurer cron pour que les annonces soient bien retirées à l’expiration.
Drupal 7 Auto Expire
Pour Drupal 7, téléchargez et installez le module Auto Expire.
Ce module ne dépend d’aucun autre, vous pouvez donc l’utiliser directement. Il suffit de configurer les permissions si vous souhaitez permettre à d’autres rôles de modifier la durée des annonces.
Accédez à la configuration du site et sélectionnez Auto Expire :
Voici un aperçu détaillé des réglages :
Article est le type de contenu de base Drupal, vous pouvez aussi choisir n’importe quel autre type.
La case Expire active la fonctionnalité d’expiration.
Days indique le nombre de jours pendant lesquels les nœuds du type choisi resteront publiés.
Warn indique le nombre de jours avant l’expiration pour envoyer une notification à l’auteur.
Purge est le délai après lequel l’annonce sera supprimée de la base de données.
Note : Le module Auto Expire est encore en développement et n’est pas encore prêt à être utilisé (statut au 07-12-2011).
Configurez vos paramètres, activez cron, et vos annonces seront automatiquement retirées à l’expiration.
Dans la prochaine leçon, nous verrons comment réaliser une fonctionnalité similaire avec le module Rules.