Devise

Permet de gérer dans les squelettes les monnaies étrangères en fournissant des noms de monnaies en toutes lettres.

Permet également de définir une devise préférée pour les auteurs.

Sur des sites où on utilise des prix, il peut être utile de disposer de noms de monnaies. Ce plugin fournit donc les noms de toutes les monnaies du monde (y compris Bitcoin), ainsi que quelques outils pour les manipuler. Actuellement, ces noms sont disponibles en français, anglais et espagnol.

Un champ « devise » est également ajouté à la table auteurs. La valeur de ce champ est le code ISO 4217 de la monnaie choisie.

Ce plugin nécessite les plugins Champs Extras 2 et Saisies pour fonctionner.

Dans l’espace privé du site

Dans la page de préférences d’un auteur, il est possible de remplir le champ « Devise préférée » afin d’associer une devise à un auteur. La signification exacte de cette association peut varier suivant les cas ; elle est laissée à l’appréciation du ou de la webmestre.

Utilisation générale dans les squelettes

Dans tout le site, il est possible d’utiliser directement les chaînes de langues fournies. Par exemple :
-  <:devise:EUR:> renvoie le nom de la monnaie dans la langue du contexte. Par exemple : Euro
-  <:devise:s_EUR:> renvoie le nom de la monnaie au singulier pour un prix. Par exemple, 1&nbsp;<:devise:s_EUR:> affichera « 1 euro ».
-  <:devise:p_EUR:> renvoie le nom de la monnaie au pluriel pour un prix. Par exemple, 42&nbsp;<:devise:p_EUR:> affichera « 42 euros ».

Utilisation dans une boucle AUTEURS

Dans une boucle AUTEURS, il est possible d’utiliser la balise #DEVISE pour récupérer le code à 3 lettres de la monnaie choisie par cet auteur.

Dans le cas (probable) où l’on souhaite afficher le nom de la monnaie en toutes lettres (et dans la langue du contexte), les modèles suivants sont tout indiqués :
-  #MODELE{auteur_nom_devise} fournit le nom général de la devise (Euro, Dollar des États-Unis, etc.)
-  #MODELE{auteur_devise_singulier} et #MODELE{auteur_devise_pluriel} permettent d’utiliser le nom dans un prix.

Dans une boucle POUR

La balise #DEVISES renvoie un tableau contenant tous les codes à 3 lettres des monnaies disponibles. Ceci permet de l’utiliser par exemple dans une boucle POUR si jamais SPIP-Bonux est installé.

Fonctions PHP et filtres

Deux fonctions/filtres sont fournies.

formater_devise($devise, $format) ou |formater_devise{format} permet d’afficher un nom de devise de façon personnalisée. Le format peut utiliser les codes suivants :
-  %C : code ISO de la devise.
-  %N, %sN, %pN : son nom en toutes lettres : générique, singulier ou pluriel.
-  %% : signe « % ».

devises_codes([$description]) renvoie un tableau avec les codes ISO de toutes les devises connues. Si une description est fournie et contient les codes décrits plus haut, c’est un tableau associatif qui est renvoyée, avec pour clés les codes ISO et pour valeurs la description demandée.

Saisie

Le plugin fournit également une saisie devise, pour faciliter la création de formulaires. Ses paramètres sont ceux de la saisie « selection »

Améliorations possibles

Il serait fort pratique d’intégrer une fonction de conversion en temps réel (par exemple en utilisant un webservice), pour s’adapter aux variations de taux de change. Ceci permettrait de fournir des prix dans la devise choisie par le visiteur.

Exemple

Ce plugin est utilisé sur le site d’arts Plaztika, pour afficher le prix lorsqu’on sélectionne un tableau.

Discussion

2 discussions

  • liberte

    Bonjour l’hyperlien Plaztika pointe sur un site bizarre.

    Ce plugin est utilisé sur le site d’arts Plaztika, pour afficher le prix lorsqu’on sélectionne un tableau.

    Répondre à ce message

  • 1

    Hello,

    Pour info, les devises sont gérées nativement dans la v1.1 du plugin API prix (encore en dev, mais ça devrait bientôt être passé en stable). Il ne s’agit pas encore d’une gestion complète multi-devises, mais ça prend déjà en charge tout ce que fait ce plugin et même plus (multilinguisme complet, etc.).

    J’avais prévu de faire quelques évolutions sur le master pour le rendre au moins compatible spip 3.2 / php 7.2 (ça c’est fait) ainsi que d’autres évolutions éventuelles, mais du coup comme tout est déjà dans Prix je vais arrêter là.

    Je pense que ça pourrait au moins être reporté dans la branche 3 (et la passer en stable).

    Quand au évolutions futures de ce plugin quelques réflexions ici : https://git.spip.net/spip-contrib-extensions/devise/wiki/evolutions#user-content-version-4

    • Bon du coup c’est compat 3.2 et passé en « test », comme ça c’est fait.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom