Drupal Commerce et Microdata

Soumis par GoZ le mar 15/03/2016 - 07:59

Drupal Commerce et Microdata

Les microdatas facilitent la remontée d'informations pour des services ou robots. Grâce aux microdatas, il est ainsi possible d'afficher dans les résultats Google un fil d'ariane, des événements, des produits, des avis etc.

La définition complète des microdatas est disponible sur [Schema.org](https://schema.org/) et [Google fournit un outil](https://developers.google.com/structured-data/testing-tool/) permettant de tester la validité et le rendu des microdatas de votre page.

Par défaut, Drupal Commerce n'intègre pas de microdata.
Un module permet de pallier à ce problème : [Commerce Schema.org](https://www.drupal.org/project/commerce_schemaorg), celui-ci s'appuyant sur la [définition de produits de schema.org](https://schema.org/Product).

Par défaut, seuls les champs suivants sont affichés :

* Name: Titre du produit d'affichage
* Url: Chemin absolu vers le produit d'affichage.
* Description: Corps de texte du produit d'affichage.
* SKU: SKU du Produit
* Offers:priceCurrency: Propriété currency_code du champ commerce_price du Produit.
* Offers:price: Propriété amount du champ commerce_price du Produit.
* Offers:availability: Propriété commerce_stock du Produit sur le champ est disponible, via le module commerce_stock par exemple.
* Image: Images du champ field_images du Produit s'il existe.

Vous pouvez ajouter ou éditer l'affichage de ces microdatas en utilisant le hook:
hook_commerce_schemaorg_product_alter()

Voir [commerce_schemaorg.api.php](http://cgit.drupalcode.org/commerce_schemaorg/tree/commerce_schemaorg.a…) pour avoir plus de détails sur ce hook.

Afin d'utiliser au mieux les outils fournis par Drupal, et de manière à pouvoir être facilement édités par d'autres modules, ce hook est construit sous forme de ['render arrays'](https://www.drupal.org/node/930760).

Exemple
Voici un exemple sur cette page générée par Commerce Kickstart 2 avec l'activation du module Commerce Schema.org.

![Affichage d'un produit sur Drupal Commerce Kickstart 2.x](/sites/default/files/2016-03/drupal-commerce-kickstart-produit.png)
*Affichage d'un produit sur Drupal Commerce Kickstart 2.x*

![Résultat de l'outil de test de microdata de Google.](/sites/default/files/2016-03/commerce-schemaorg-produit.png)
*Résultat de l'outil de test de microdata de Google.*