在非图像元素上使用 schema.org/Product 图像

Using schema.org/Product image on a non image element

我正在编辑 Prestashop 安装,但情况有点奇怪。在 PS 中,当您向产品添加颜色属性时,它会显示带有背景色的 <a> 标签以显示颜色选择。在我为艺术供应商建造的商店中,我们为每种颜色的油漆提供一种产品,因此没有必要这样做,但有些产品会有纹理图像,而其他产品会有一张显示纹理的照片,而不是全部它们将是纯色块。

整个场景比上面的要复杂一些,但是我的问题是你能使用模式吗?org/Product 标签上的图像属性是空的但有背景颜色?

生成的代码会像这样包裹在 <div class="product-container" itemscope="" itemtype="http://schema.org/Product">:

<a href="link-to-product" itemprop="image" style="background-color:#FF0000; width: 25px; height:25px;"></a>

我不认为深入研究重写 Prestashop 如何处理颜色和其他选项的产品属性是明智的,因为从我所看到的情况来看,这会涉及某种地狱。另一种方法是为那些没有图像的模式属性保留模式属性,但如果可能的话我想把它放在那里。对于那些不了解 Prestashop 的人,当您设置产品属性时,您可以选择一种十六进制代码颜色和一个可选的图像文件。如果图像不存在,则只会显示颜色。

如果您对 a 元素使用 itemprop 属性,则 属性 值将是 href 属性中指定的 URL,不是 a 元素的内容。

因此在您的示例中,image 属性 的值为 link-to-product(将被解释为 URL):

schema:Product → schema:image → <link-to-product>

这可能不是您想说的。

我不明白你到底想达到什么目的,但如果你确实有一个实际的图像,你想提供作为 image 属性 的价值,但你不想要要使用 imga 元素,您可以使用 link 元素:

<div class="product-container" itemscope itemtype="http://schema.org/Product">
  <link href="product-image.png" itemprop="image"/>
</div>