Permettre la surcharge du formatage des numéros et adresses
Le plugin Coordonnées
affiche les numéros par la balise #NUMERO
exemple, le squelette suivant, fait un formatage à la volée :
../prive/objets/liste/numeros_lies.html
L'instruction de formatage du numéro est la suivante :
[<div class="#EDIT{numero}">(#NUMERO|replace{' ',' '})</div>]
Il serait facile de laisser le développeur mettre en place son formatage en créant une balise #NUMERO_FORMATER
qui serait surchargeable.
Principes de mise en oeuvre :
code à ajouter dans coordonnees_fonctions.php
/**
* Compile la balise #NUMERO_FORMATER qui affiche comme il faut
*
* À utiliser dans une boucle NUMEROS ou avec #NUMERO_FORMATER{#ID_NUMERO}
*
* @param $p
* @return
* Code PHP à exécuter
*/
function balise_NUMERO_FORMATER_dist($p) {
$_id = interprete_argument_balise(1, $p);
if (!$_id) {
$_id = champ_sql('id_numero', $p);
}
$p->code = "coordonnees_numeros_formater($_id)";
return $p;
}
/**
* Formate un numero
*/
function coordonnees_numeros_formater($id_ou_numero, $html=true) {
$numeros_formater = charger_fonction('numeros_formater', 'inc');
return $numeros_formater($id_ou_numero,$html);
}
création d'une fonction inc/numeros_formater
surchargeable
function inc_numeros_formater_dist($id_ou_numero,$html) {
$retour = false;
// prévoir le traitement de base précédemment
// fait par le filtre replace{' ',' '}
// mais que le développeur pourra améliorer
return $retour;
}
Cette possibilité de surcharge serait aussi a exploiter dans la balise #ADRESSE_FORMATER
car pour l'instant il n'est pas possible de surcharger la balise.