Ce site web s'adresse aux revendeurs de produits swisstopo et aux développeurs du web. Si vous désirez acheter des produits swisstopo, veuillez consulter le shop en ligne swisstopo.
Ici, vous apprendrez comment intégrer manuellement les produits sélectionnés du shop en ligne swisstopo dans votre site en quatre étapes simples.
Un fichier Javascript doit être intégré dans chaque page présentant des produits de swisstopo. Ceci se fait en copiant le «talon» suivant dans l'en-tête (<head>) du site web:
<script language="javascript" src="http://www.toposhop.admin.ch/static/javascripts/products/productList.js" type="text/javascript"> </script>
Nouveau code dès le 1er janvier 2017 <script language="javascript" src="https://cms.geo.admin.ch/www.swisstopo.admin.ch/shop/swisstopoproducts/js/ShopProductList.js" type="text/javascript"> </script>
Pour intégrer les données dans une maquette existante de la manière la plus flexible possible, on réalise une mise en page comprenant les substituts désirés. Cette maquette est utilisée et éditée pour chaque produit. Les substituts sont délimités au moyen de crochets []. Au chapitre «Attributs de produit», vous trouverez quels sont les attributs pouvant être utilisés.
var formatTemplate = '<tr>' + '<td>[product.titleDe]</td>' + '<td>[product.descriptionDe]</td>' + '<td>[product.price]</td>' + '<td>[product.releaseDate]</td>' + '<td><a href="#">Bestellen</a></td>' + '</tr>';
Pour charger les données de swisstopo, il faut appeler la fonction JavaScript-Methode getProducts() .Celle-ci charge les
données du produit en arrière-plan sans bloquer la superstructure latérale (Ajax). Pour permettre d'appeler la fonction
au niveau de la superstructure latérale, celle-ci doit être enregistrée dans le listeur de chargement (loadlistener).
Ceci se fait via l'instruction window.onload=getProducts(...).
La fonction exige quatre paramètres:
window.onload=getProducts(1.0, formatTemplate, [],[]);
Nouveau code dès le 1er janvier 2017 window.onload=getProducts(2.0, formatTemplate, [],[]);
La dernière étape consiste à réaliser ce que l'on appelle un «conteneur». Le contenu de ce conteneur sera finalement la liste de produits. Un conteneur typique est un élément <div> HTML mais ça peut également être un élément <tbody> comme dans l'exemple ci-dessous. La condition est qu'il faut attribuer à l'élément la même id=”productOutputContainer”. Cette ID permet de référencer le conteneur à partir du code JavaScript.
<div id="productOutputContainer"></div> <tbody id="productOutputContainer"></tbody>