web-dev-qa-db-fra.com

Problème lors de la liaison à une marque avec itemref

J'essaie de relier un Brand à un Product avec le code suivant:

<div itemscope itemtype="http://schema.org/Product" id="p2000">
...
   <meta itemprop="brand" itemscope itemtype="http://schema.org/Brand" itemref="v1437"/>
...
</div>

La Brand est déjà définie sur la même page Web ci-dessus, à l'intérieur d'un bloc indépendant:

<h1 itemscope itemtype="http://schema.org/Brand" id="v1437">
   <span itemprop="name">MyBrand</span>
   <meta itemprop="url" content="http://www.example.com/MyBrand"/>
   <meta itemprop="logo" content="http://www.example.com/MyBrand/logo.png"/>
</h1>

Le validateur ne trouve pas la propriété name à l'intérieur de l'objet lié Brand.

Can't find 'name'

Le lien entre une Brand et une Person semble fonctionner, mais l'objet Person n'affiche pas le nom de Brand:

Not displaying 'name'

Je peux utiliser les attributs itemref et id sur d'autres objets. Je peux relier Offers à Products et Offers à Persons de la même manière.

Est-ce un bug du validateur?

1
Axel Isouard

itemref ne fonctionne pas comme ça.

Vous devez ajouter l'attribut itemref à l'élément auquel vous souhaitez appliquer une propriété, et cette propriété doit être définie sur un élément avec l'ID correspondant.

Donc, votre exemple devrait être:

<div itemscope itemtype="http://schema.org/Product" itemref="v1437">
</div>

<h1 itemprop="brand" itemscope itemtype="http://schema.org/Brand" id="v1437">
   <span itemprop="name">MyBrand</span>
   <link itemprop="url" href="http://www.example.com/MyBrand"/>
   <link itemprop="logo" href="http://www.example.com/MyBrand/logo.png"/>
</h1>

(J'ai changé deux meta éléments en link éléments, ce qui est obligatoire si la valeur est un URI .)

1
unor

je suppose que vous obtenez des identifiants différents: en cas de <meta itemprop="brand" itemscope itemtype="http://schema.org/Brand" itemref="v1437"/> est-ce que c'est v1437, en cas de <div itemscope itemtype="http://schema.org/Product"></div> ce sera p1437: c'est pourquoi ils ne correspondent pas et l'outil de test ne peut pas les reconnaître correctement

0
Evgeniy