Personnaliser de façon avancée un document (Smarty)
Le langage Smarty offre de nombreuses possibilités de personnaliser un document que voici.
Voici différents cas d’usages :
| Opération souhaitée | Fonction Smarty | Exemple de syntaxe |
|---|---|---|
| Forcer un texte en majuscule | upper | {« $ops_personne_morale_billing_address_city » | upper} |
| Forcer un texte en minuscule | lower | {« $ops_personne_morale_type_tier » | lower} |
| Forcer la 1ère lettre en majuscule et le reste en minuscule | lower et capitalize | {« $ops_personne_morale_billing_address_city » | lower | capitalize} |
| Afficher un déterminant différent en fonction de la première lettre du mot suivant
(afficher d’ ou de selon que le mot suivant commence par une voyelle ou une consonne) | – assign : Attribue une valeur (value) à la variable « ville » – ubstr : Permet d’extraire certains caractères dans une chaîne (ici, le premier caractère de la variable ville) – in_array() : On vérifie si le caractère extrait est présent dans le tableau (voyelles). | {assign var = « ville » value = « $ops_personne_morale_billing_address_city »} {if in_array(substr($ville, 0, 1), [‘A’, ‘E’, ‘I’, ‘O’, ‘U’, ‘Y’])} d'{$ville} {else} de {$ville} {/if} |
Un cas plus complexe : générer une date avec le mois en entier et en français
Pour afficher le mois de la date de génération d’un document en toutes lettres (en français), vous pouvez utiliser une série de conditions pour traduire le mois de l’anglais vers le français et afficher la date dans un format spécifique.
Le code est le suivant :
{assign var= »mois » value=$smarty.now|date_format: »%B »}
{assign var= »mois_fr » value= » »}
{if $mois == « January »}{assign var= »mois_fr » value= »janvier »}
{elseif $mois == « February »}{assign var= »mois_fr » value= »février »}
{elseif $mois == « March »}{assign var= »mois_fr » value= »mars »}
{elseif $mois == « April »}{assign var= »mois_fr » value= »avril »}
{elseif $mois == « May »}{assign var= »mois_fr » value= »mai »}
{elseif $mois == « June »}{assign var= »mois_fr » value= »juin »}
{elseif $mois == « July »}{assign var= »mois_fr » value= »juillet »}
{elseif $mois == « August »}{assign var= »mois_fr » value= »août »}
{elseif $mois == « September »}{assign var= »mois_fr » value= »septembre »}
{elseif $mois == « October »}{assign var= »mois_fr » value= »octobre »}
{elseif $mois == « November »}{assign var= »mois_fr » value= »novembre »}
{elseif $mois == « December »}{assign var= »mois_fr » value= »décembre »}
{/if}
Fait le : {$smarty.now|date_format: »%d »} {$mois_fr} {$smarty.now|date_format: »%Y »}
Pour aller plus loin (le langage Smarty)
La syntaxe présentée ci-dessus est issue du langage Smarty.
Il s’agit d’un langage de programmation introduit dans les modèles de PDF ainsi que les modèles de mails, il comporte beaucoup d’autres possibilités que vous pouvez découvrir en suivant ce lien.
Pour qui
Administrateur fonctionnel
Chemin
CRM > Administration > Modèles de PDF
Version
Open CRM 3.0



