Version 2 — Juin 2020 — formatec
Snipet à placer dans squelettes/mes_fonctions.php
<?php
/**
* {mon_age_relatif} ou {mon_age_relatif date_modif}
by Marcimat
*/
function critere_mon_age_relatif_dist($idb, &$boucles, $crit) {
$boucle = &$boucles[$idb];
$table = $boucle->show;
$params = $crit->param;
if ($params) {
$champ = reset($params);
$champ = $champ[0]->texte;
} else {
$champ = $table['date'] ?? '';
}
if (empty($table['field'][$champ])) {
erreur_squelette("Critere mon_age_relatif sans champ date valide.", $boucle);
}
$date_compare = "'\" . normaliser_date(" .
calculer_argument_precedent($idb, $champ, $boucles) .
") . \"'";
$date_orig = $boucle->id_table . '.' . $champ;
$as = 'mon_age_relatif';
#var_dump(calculer_param_date($date_compare, $date_orig));
$boucle->select[] = '(' . calculer_param_date($date_compare, $date_orig) . ") AS $as";
}
/**
* #MON_AGE_RELATIF => 7
* #MON_AGE_RELATIF* => 7.1234
* @param Pile $p
* @return Pile
*/
function balise_MON_AGE_RELATIF_dist($p) {
$p = rindex_pile($p, 'mon_age_relatif', 'mon_age_relatif');
if (!$p->etoile) {
$p->code = "floor(" . $p->code . ")";
}
return $p;
}
?>
Dans votre squelette :
#MON_AGE_RELATIF arrondi le nombre de jours sans virgules [floor()]
#MON_AGE_RELATIF* renvoie un nombre virgulé
<BOUCLE_1(ARTICLES){mon_age_relatif}{0, 10}>
#ID_ARTICLE - #MON_AGE_RELATIF - #MON_AGE_RELATIF*<br />
</BOUCLE_1>