Il faut tout d’abord avoir en tête que Dotclear stocke trois dates pour chaque billet :

  • la date réelle de création (le premier enregistrement du billet) dans le champ post_creadt,
  • la date de publication (commandée par le champ « Publié le » dans l’édition de billets) dans le champ post_dt,
  • la date de réenregistrement, quand on opère des modifications, dans le champ post_upddt.

La méthode ci-dessous utilise les champs post_creadt et post_upddt et ne tient donc pas compte de la date de publication.

Pour afficher la date et l'heure de mise à jour d'un billet, coller le code suivant dans le fichier _public.php du thème actif :

<?php
$core->tpl->addValue('UpdateTime', array('tplMyThemeAdditions', 'UpdateTime'));

class tplMyThemeAdditions {
	public static function UpdateTime($attr)
	{
		$format = $GLOBALS['core']->blog->settings->date_format;
		if (!empty($attr['format'])) {
			$format = addslashes($attr['format']);
		}
		
		$f = $GLOBALS['core']->tpl->getFilters($attr);
		$p = '<?php if ($_ctx->posts->post_upddt > $_ctx->posts->post_creadt) {'.
			'echo "<li>Modifi&eacute; le : "; '.
			'echo '.sprintf($f,"dt::dt2str('".$format."',\$_ctx->posts->post_upddt)").'; ';
		
		$format = '';
		$format = $GLOBALS['core']->blog->settings->time_format;
		if (!empty($attr['format'])) {
			$format = addslashes($attr['format']);
		}
		$p .= 'echo " &agrave; "; '.
			'echo '.sprintf($f,"dt::dt2str('".$format."',\$_ctx->posts->post_upddt)").'; '.
				'echo "</li>"; } ?>';
		
		return $p;
	}
}
?>

Appeler ensuite cette fonction en collant la ligne suivante à l'endroit voulu :

{{tpl:UpdateTime}}