Liste des pays avec codes ISO 3166-1

Les listes de codes de l’ISO 3166-1

Propose une boucle « pays » qui s’utilise comme suit (exemple) :

<B_p>#PAGINATION
<table class="spip" width="100%">
	<thead>
	<tr class="row_first">
		<th><:pays:id_pays:></th>
		<th><:pays:code:></th>
		<th><:pays:nom:></th>
	</tr>
	</thead>
	<tbody>
	<BOUCLE_p(pays){par nom}{pagination 20}>
	<tr[ class="(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'})"]>
		<td>#ID_PAYS</td>
		<td>#CODE</td>
		<td>#NOM</td>
	</tr>
	</BOUCLE_p>
	</tbody>
</table>
</B_p>

Le plugin installe une nouvelle table « pays » qui reprend la liste des pays issus de spip_geographie (mais seulement les pays) en l’enrichissant des codes à deux caractères établis pas l’Organisation Internationale de Normalisation (ISO). Des correspondances peuvent ainsi êtres faites avec d’autres bases de données donnant ce champ comme clé d’index.

Ce plugin est par exemple utilisé dans les plugins Coordonnées et Contacts et Organisations (C&O) pour générer la liste des pays dans une adresse postale, et dans une appli développée pour un service export.

Comme indiqué sur le site de l’ISO : « Les noms de pays (forme courte) de l’ISO 3166-1 et les codes alpha-2 sont mis à disposition par l’ISO gratuitement pour un usage interne et à des fins non commerciales. »

Ce plugin est accompagné d’un court exemple d’utilisation de la boucle pays. Pour afficher l’exemple, une fois le plugin installé affichez la page [1] : spip.php?page=demo/pays. Vous obtiendrez une liste des pays du monde similaire à celle-ci :

Mise à jour 3.1

Le plugin Pays permet désormais de lier un Pays à n’importe quel objet SPIP. La liste des objets qui peuvent être liés à des pays est paramétrable sur la page de configuration du plugin (?exec=admin_plugin ou menu Configuration > Gestion des plugins) :

Ensuite, sur ces objets une nouveau bloc permet d’effecter un ou plusieurs pays à l’objet :

Notes

[1Vous devez être webmestre du site pour voir cette page

l’icône du globe terrestre provient du site tutsps.com

Discussion

19 discussions

  • Bonjour,

    J’avais déjà fait ce constat l’année dernière (et je croyais avoir signalé le problème mais je ne retrouve plus, peut-être était-ce sur « Discuter » ou sur la mailing-liste en direct), il m’est impossible d’afficher un pays par défaut dans un site, ça revient toujours sur « Afghanistan ».

    Dans un spip 3.2.16 avec ce plugin en 3.5.0 et Formidable en 4.15.7 (bref tous plugins à jour), j’ai un champ pays dans un formulaire Formidable. J’ai tenté d’utiliser la valeur par défaut que l’on peut déclarer dans chaque saisies du formulaire (j’ai essayé « FR » et « France », mais j’ai de toutes les façons déclaré utiliser le « Code ISO3166-1 Alpha 2 » donc « FR » devrait être bon, j’ai aussi essayé « fr ») et j’ai aussi déclaré dans les réglages du plugin que le « Pays par défaut du site » était la France, rien n’y fait je reste à Kaboul, ville sympathique au demeurant mais néanmoins pas très pratique dans mon cas :-)
    Quelque chose m’a échappé, un truc que je n’ai pas pigé ... ? concernant la valeur par défaut dans Formidable je constate d’ailleurs que ce que je saisi n’est pas conservé ... Bref si quelqu’un a une idée avant que je ne déclenche un bout de js pour régler ça ... merci d’avance et bonne année à vous !

    Répondre à ce message

  • Chers écureuils,

    Il n’y a pas de balise <!--nb_elements--> dans les squelettes /prive/objets/infos/pay.htm et pays.html.

    L’insertion d’éléments comme le nombre des enfants d’un pays (indiquant le nombre de zones administratives par exemple) est donc rendue difficile.

    Y-a-t-il une raison particulière pour ce choix ? Dans la négative, serait-il possible d’insérer cette balise ?

    Répondre à ce message

  • 5

    Bonjour,

    J’ai installé « Pays ISO 3166-1 » en version 3.2.0 sur un SPIP 3.2.5
    Comme indiqué sur la documentation, je peux en effet choisir les objets auxquels lier un pays et ça marche. Mais (car il doit y envoir un) une fois Pays lié à mon objet Patate, comment exploiter cela dans mes squelettes ? Tout exemple serait bienvenu.

    Merci.

    • J’ai vu ce bug , mais le plugin pays n’est pas concerné.
      Dans cextras, il faut je crois modifier la définition technique du champ pays :
      le small int a besoin d’un int par défaut. Sinon l’erreur sql empêche la création du champ pays.
      Dommage que cextras ne remonte pas les erreurs.

    • pardon, le post précédent répond au pb de table pays inexistante de DD.

    • Bonjour,
      Merci pour ta réponse.
      Pour l’instant par défaut il y a :
      Définition SQL (obligatoire) smallint(6) DEFAULT '' NOT NULL

      j’ai changé en
      Définition SQL (obligatoire) smallint(6) DEFAULT '111111' NOT NULL

      Mais cela ne change rien (mais je suis ignare en sql)

    • Bonjour,

      il ne faut pas mettre de quotes je pense, sinon c’est encore un string.
      Mais il faut aussi que la table soit recréée. Mais ça concerne alors cextras

    • pour répondre à Gilcot :
      il y a un filtre lister_objets_lies , voir un exemple dans les astuces courtes.

    Répondre à ce message

  • Bonjour,
    Avec ce plugin à jour j’ajoute la liste des pays aux champs extra des auteurs mais cela retourne une erreur (par exemple sur la page d’un auteur) :

    Erreur SQL 1054
    Unknown column 'pays_1' in 'field list' 
    plugins/auto/cextras/v3.12.4/cextras_fonctions.php	champs_extras_voir_saisies(){ sql_fetsel(); }	356

    Erreur sur les 2 sites testés (à jour).
    Le champ n’est pas ajouté en base.
    Voilà, voilà
    Merci

    Répondre à ce message

  • 2

    Bonjour,

    Est-ce qu’il y a moyen de rajouter des logos aux pays ?

    Répondre à ce message

  • Bonjour,

    je souhaite permettre la création d’un article sur l’espace public, or je ne trouve pas le formulaire (#FORMULAIRE_EDITER_PAYS ?) me permettant de sélectionner un pays. Oukilé ?

    merci !

    Répondre à ce message

  • Bonjour,
    Impossible de faire afficher le champ nom (#NOM), je crois que c est maintenant une variable dynamique réservée. Je n y arrive pas non plus avec la fonction #INFO ni avec une syntaxe de balise non ambigue (ou explicite, je ne sais plus le terme), en plus il faut forcement passer par un filtre extraire_multi, non ? Ou alors, l a pon compris....
    amicalement
    triton

    Répondre à ce message

  • Bonjour,

    Dans la doc, le chapitre *Mise à jour 3.1* propose une évolution que je ne retrouve pas dans ma version actuelle du plugin (v3.0.11), jusqu’à là tout me semble normal ;-)

    Cependant, je ne retrouve pas d’archive pour la 3.1 sur cette page, ni dans *Gestion des plugins*. Cette mise à jour n’a-t-elle pas encore été publiée ?

    Merci par avance de ta réponse.

    Répondre à ce message

  • 1

    Bonjour

    Est-ce qu’une évolution de ce plugin pour utiliser la table pays dans les articles, rubriques, brèves est prévue ?
    Un peu à la manière des mots-clés pour ensuite pouvoir trier des listes d’articles ou de rubriques par pays.

    Merci de votre réponse

    yanik

    • Bonjour,
      Désormais le plugin peut être utilisé pour lier un pays aux objets éditoriaux de SPIP. Il faut penser à sélectionner les objets sur lesquels on peut lier des pays, depuis la page de configuration du plugin.

      ++
      Cyril

    Répondre à ce message

  • 1

    bonsoir

    j’ai une difficulté d’installation sans doute liée à un pb sql indépendant duplugin, puisque je l’ai sur d’autres, mais pour m’aider, si quelqu’un peut interpréter ce message surprenant d’installations erronée/réussie/erronée...

    coté log spip et sql, rien de précis

    merci d’avance

    ce qui apparait sur la page de gestion des plugins après activation...

    Gestion des plugins
    Erreurs survenues

    L’installation du plugin « Pays ISO 3166-1 » (version : 3.0.10) a échoué
    MAJ init .

    L’opération a échoué. init 2

    Actions réalisées

    L’activation du plugin « Pays ISO 3166-1 » (version : 3.0.10) s’est correctement déroulée
    L’installation du plugin « Pays ISO 3166-1 » (version : 3.0.10) a échoué

    Installation du plugin Pays ISO 3166-1
    MAJ init

    L’opération a échoué. init 2
    L’opération a échoué.

    • Bonjour,

      Je ne rencontre pas de soucis à l’installation du plugin en v3.0.10. J’ai réalisé une installation vierge pour tester, et pas de soucis…

      Quelle est le type de base de données utilisée ? MySQL ? SQLite ?

    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