Ce plugin crée automatiquement les champs date_creation
et date_modif
sur toutes les tables d’objets éditoriaux, si ce champ n’existe pas déjà, sur les objets natifs de SPIP (articles, auteurs, rubriques...) comme sur les objets créés par des plugins.
En cas de création d’un nouvel objet (lors de l’installation d’un nouveau plugin), ces champs y seront également ajoutés.
Les dates de création / modification sont renseignées automatiquement à la création d’un nouvel objet ou lors de sa modification, depuis les pipelines post_insertion()
et post_edition()
.
Elle n’est ensuite plus modifiée.
Elles sont affichées sur la page de chaque objet dans l’espace privé, dans le formulaire_dater
.
Utilisation dans les squelettes
Pour chaque boucle sur un objet éditorial, on peut donc utiliser :
- les critères
{par date_creation}
et{par date_modif}
pour classer les objets, - les balises
#DATE_CREATION
et#DATE_MODIF
pour les afficher.
NB : quand vous installez ce plugin sur votre site, les objets existants n’auront pas de date de création. Concrètement elle sera égale à ’0000-00-00 00:00:00’ dans la base de données.
La balise [(#DATE_CREATION|affdate)]
afficherait alors : 0000
.
Pour tester si une valeur de date est bien présente, et ne l’afficher que dans ce cas, vous pouvez tester la valeur de #DATE_CREATION|intval
, qui doit retourner autre chose que 0 si une date est présente [2].
Exemple :
[(#DATE_CREATION|intval|oui)
[<:date_creation:date_creation:> (#DATE_CREATION|affdate)]
]
Cette astuce est valable pour tous les champs de date dans les squelettes.
Ajouter d’autres dates
Le plugin déclare un pipeline dates_plus_champs_dates
que vous pouvez utiliser pour ajouter vos propres champs de dates, qui seront donc automatiquement créés sur tous les objets.
Exemple d’utilisation dans un autre plugin :
function monplugin_dates_plus_champs_dates($flux) {
$flux[] = 'date_truc';
return $flux;
}
A vous ensuite d’implémenter la mise à jour de cette date, à travers les pipelines sur les objets (pre/post insertion/edition) ou tout autre événement.
Configuration
Quelques constantes peuvent être définies pour masquer les dates de création dans l’espace privé, si vous ne souhaitez pas les voir apparaître :
_MASQUER_DATE_CREATION
pour les masquer partout,
_MASQUER_DATE_CREATION_BIDULE
pour les masquer sur les objets bidules.
Idem avec _MASQUER_DATE_MODIF
et _MASQUER_DATE_MODIF_BIDULE
.
No discussion
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments:
|
