我可以在项目包装层而不是项目标签上指定 Schema.org 属性 吗?
Can I specify a Schema.org property at the item wrapper level instead of the item tag?
我正在努力将 Schema.org 项添加到 Drupal 站点。正如某些人可能已经知道的那样,修改个别字段的呈现 HTML 可能会很痛苦。
在这种情况下,我正在处理产品详细信息页面。特别是将 itemprop="name"
属性 添加到产品标题字段。这只是我正在处理的一个简单的节点内容类型。所以我修改了这个项目内容类型的节点模板。这导致以下 HTML 结构:
<div itemprop="name" class="product-view__item__title">
<h3 class="field-label"></h3>
<h1 class="field-title-field item__title-field">
Very Important Product
</h1>
</div>
div
元素中的所有内容都来自对模板中标题字段的调用 render()
。到目前为止,我没有足够的运气来修改嵌套的 h1
标签。但是我并没有尝试太多,因为我将不得不对其他字段执行此操作,并且想知道我是否可以指定 属性 位于 HTML 树之上的项目。
有什么想法吗?我需要在 h1
级别添加 属性 还是可以在本例中的 div
级别添加它?
我们这样做是为了向搜索引擎提供更好的信息。
是的,你可以这样做。
name
属性 的值将是元素的 textContent
(即元素及其所有后代的文本内容,连接起来)。
这当然意味着您必须确保没有其他内容在 div
内呈现(就像带有 class field-label
的元素中的标签)。
¹ 根据定义 by WHATWG’s Microdata (Living Standard) and by W3C’s Microdata (W3C Working Group Note).
我正在努力将 Schema.org 项添加到 Drupal 站点。正如某些人可能已经知道的那样,修改个别字段的呈现 HTML 可能会很痛苦。
在这种情况下,我正在处理产品详细信息页面。特别是将 itemprop="name"
属性 添加到产品标题字段。这只是我正在处理的一个简单的节点内容类型。所以我修改了这个项目内容类型的节点模板。这导致以下 HTML 结构:
<div itemprop="name" class="product-view__item__title">
<h3 class="field-label"></h3>
<h1 class="field-title-field item__title-field">
Very Important Product
</h1>
</div>
div
元素中的所有内容都来自对模板中标题字段的调用 render()
。到目前为止,我没有足够的运气来修改嵌套的 h1
标签。但是我并没有尝试太多,因为我将不得不对其他字段执行此操作,并且想知道我是否可以指定 属性 位于 HTML 树之上的项目。
有什么想法吗?我需要在 h1
级别添加 属性 还是可以在本例中的 div
级别添加它?
我们这样做是为了向搜索引擎提供更好的信息。
是的,你可以这样做。
name
属性 的值将是元素的 textContent
(即元素及其所有后代的文本内容,连接起来)。
这当然意味着您必须确保没有其他内容在 div
内呈现(就像带有 class field-label
的元素中的标签)。
¹ 根据定义 by WHATWG’s Microdata (Living Standard) and by W3C’s Microdata (W3C Working Group Note).