我之前从未使用Rich Snippets,所以这对我来说有点学习曲线。我相信我的问题是嵌套问题,但我无法在任何地方找到明确说明如何正确嵌套这些属性的文档。
我希望将单一产品评论的索引编入Rich Snippets,并使用经典ASP提取不同的数据字段,这是我的代码:
<div>
<div itemscope itemtype="http://data-vocabulary.org/Review">
<span itemprop="itemreviewed">Forma Stanzol</span><br />
By <span itemprop="reviewer"><%=formaStanzolReviewArray(0,i)%></span><br />
<time itemprop="dtreviewed" datetime="<%=FormatDateTime(formaStanzolReviewArray(1,i),2)%>"><%=FormatDateTime(formaStanzolReviewArray(1,i),2)%></time> <br />
<span itemprop="description"><%=formaStanzolComment%></span>
</div>
</div>
这会返回错误:不会为此数据生成任何丰富的代码段,因为它似乎包含对项目的多次审核,但没有汇总审核信息。
所以,我添加了一个带有静态值的伪聚合代码,这里看起来像是一起的:
<div>
<div itemscope itemtype="http://data-vocabulary.org/Review">
<span itemprop="itemreviewed">Forma Stanzol</span><br />
By <span itemprop="reviewer"><%=formaStanzolReviewArray(0,i)%></span><br />
<time itemprop="dtreviewed" datetime="<%=FormatDateTime(formaStanzolReviewArray(1,i),2)%>"><%=FormatDateTime(formaStanzolReviewArray(1,i),2)%></time> <br />
<span itemprop="description"><%=formaStanzolComment%></span>
</div>
<div itemscope itemtype="http://data-vocabulary.org/Review-aggregate">
<span itemprop="itemreviewed">Forma Stanzol</span>
<span itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating">
<span itemprop="average">9</span>
out of <span itemprop="best">10</span>
</span>
based on<span itemprop="count">5</span> user reviews.
</div>
</div>
这会导致我的评论&#34;不是错误,而是我的所有&#34;聚合评论&#34;推出此错误:不会为此数据生成任何丰富的代码段,因为它似乎包含多个项目的多个汇总评论,而不是对一个项目的单个汇总评论。
无论我做什么,似乎都在反对自己,这就是为什么我认为这是一个嵌套问题。
我该如何解决这个问题?
编辑:理想情况下,我不想要事件的聚合视图。我只需要评论者,项目名称,评论日期和评论说明。
编辑编辑:此代码也在For循环中运行,每次传递都会从数据库中获取信息。
答案 0 :(得分:0)
好的,所以这里的问题是一个网站,只有一个产品,但多个评论只需要一个“评论聚合”和一个“评级”项目类型。但是,必须使用多个“Review”项类型。
因此,我的For循环为数据库中的每一行创建一个“Review”,使用相关的数据字段,然后在条件语句之后,放置“Review-Aggregate”和Rating“代码。
代码:
For i = 0 to uBound(formaStanzolReviewArray,2)
reviewCount = reviewCount + 1
formaStanzolComment = trim(formaStanzolReviewArray(2,i))
'Do not show reviews with empty comments
If Not (formaStanzolComment = "") OR isNull(formaStanzolComment) Then
%>
<div>
<div itemscope itemtype="http://data-vocabulary.org/Review">
<span style="position: absolute; left: 9999px;" itemprop="itemreviewed">Forma Stanzol</span>
Rating: <span itemprop="rating"><%=formaStanzolReviewArray(3,i)%></span> -
By <span itemprop="reviewer"><%=formaStanzolReviewArray(0,i)%></span> -
<time itemprop="dtreviewed" datetime="<%=FormatDateTime(formaStanzolReviewArray(1,i),2)%>"><%=FormatDateTime(formaStanzolReviewArray(1,i),2)%></time> <br />
<span itemprop="description"><%=formaStanzolComment%></span>
</div>
</div>
<%
sumRating = sumRating + formaStanzolReviewArray(3,i)
End If
Next
ratingAvg = sumRating / reviewCount
%>
<div style="position: absolute; left: 9999px;">
<div itemscope itemtype="http://data-vocabulary.org/Review-aggregate">
<span itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating">
<span itemprop="worst">1</span>
<span itemprop="average"><%=ratingAvg%></span>
out of <span itemprop="best">5</span>
</span>
based on <span itemprop="votes"><%=reviewCount%></span> ratings.
<span itemprop="count"><%=reviewCount%></span> user reviews.
</div>
</div>
<%
将其视为For循环中的多个用户评论,但我们会在汇总中收集所有这些评论,然后为该汇总评分。
希望这有助于任何有嵌套问题的人。
请注意:我正在使用经典的ASP代码。