问题标签 [drupal-fivestar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2189 浏览

drupal - 在 Drupal 7 中以编程方式设置数字五星级值

我有一个 Drupal 7 站点,并且在一种内容类型上使用了五星级。该内容类型的某些节点是使用带有 xpath 解析器的 Feed 导入器创建的(其余的则以更传统的 /node/add drupal 方式创建)。对于这些导入的提要,我有一个包含数字评级值(0、20、40、60、80、100)的传入字段,我想将其添加到我的五星级字段中,以便可以跟踪这些评级并以方式与drupal创建的节点一致。

我的问题是我的 Fivestar 字段 (field_rating) 没有作为 xpath 解析器导入的目标出现。有没有办法拉这个评级,或者有人可以指出我以编程方式设置这个 Fivestar 字段值的方法?

更新:我找到了 _fivestar_cast_vote,但无法将其用于我尝试使用的字段,即“编辑时评级”。我可以将 _fivestar_cast_vote 用于同一节点上的“查看时评级”的不同五星级字段,所以我觉得我的语法是正确的。对于“编辑时评级”字段,我使用的是在导入时分配内容的用户的 uid...为了测试,我在 node--*.tpl.php 文件中执行此操作,并且如果我能让它工作,可能会转向一个 cron 钩子......

0 投票
1 回答
385 浏览

php - 如何在第一次评论后以编程方式隐藏 Fivestar 评级字段?

当用户对他/她已经评论过的节点发表评论时,我想在我的评论表单中隐藏 Fivestar 评级字段(称为“field_stars”)。我在我的网站上有一个名为Commented的标志,还有一个规则,当有人评论它时代表评论员标记一个节点(效果很好)。我试图根据我在这里找到的信息来解决我的问题:

不幸的是,它并没有改变任何东西(我也没有收到任何错误)。我做错了什么?


在使用@jerdiggity 的代码进行调试后,我得到:

(当然我也明白了DEBUG: final form structure:,但在这里粘贴太长了)。我不明白为什么无法识别标记,因为它存储在数据库中......

0 投票
1 回答
1531 浏览

php - 如何使用 Fivestar 计算用户在其所有节点上的平均评分?

在我的网站上,用户可以在评论中通过名为Stars的 Fivestar 字段对彼此的节点进行评分。我现在想计算用户的总体平均得分。这意味着,我想显示用户所有节点的平均分数。

例如。假设用户创建了 2 个节点:Node 1Node 2。有人评价他的内容:

  • 节点 1得分:4/5、5/5、3/5
  • 节点 2得分:4/5、4/5

那么总体平均值将是 (4+5+3+4+4)/5=4。

优选地,该结果也应显示为星号。

我怎样才能做到这一点?


编辑:使用Computed Field模块似乎是解决这个问题的一般想法。它对我来说看起来不错,我认为最好将用户的平均分数存储在用户字段中,以使其易于访问。(使用视图也可以。)我计划在他们的个人资料页面上显示平均分数,但也许我将来也会在网站的其他地方使用它。

你能帮我看看我应该使用的代码吗?

0 投票
1 回答
72 浏览

php - 编辑其他用户的评论时如何隐藏 Fivestar 字段?

我对文章的评论有一个必需的 Fivestar 评级字段,称为“Stars”,我使用以下自定义模块将其隐藏(请参阅:https ://drupal.stackexchange.com/questions/90629/how-to-hide-rating-field-何时向自己的节点添加评论):

作为管理员,我有权编辑其他用户的评论。假设用户评论了他自己的文章。这意味着由于上面的代码,他不必设置“星星”字段。但是当我尝试编辑该评论时,我必须为“星星”选择一个值。

我怎样才能防止这种情况?检查写评论的用户的 uid 与编辑评论的用户的 uid 是否不同就足够了。最后,请注意,必须保留我自己发表新评论时选择星星的义务!


编辑:我尝试了以下代码:

显然,$form_state['values']定义不明确,因为我收到以下错误:

“注意:未定义的索引: hiderating_form_alter() 中的值”。

什么是正确的代码?

0 投票
2 回答
636 浏览

drupal - Drupal FiveStar 模块投票限制

我正在使用 FiveStar 投票模块,我想对用户可以进行的投票数量进行限制。有人知道该怎么做吗?

0 投票
1 回答
46 浏览

drupal - Drupal FiveStar 限制投票

我需要有类似反馈表的东西,可以在查看时投票,我正在尝试使用五星级来这样做。有点像这样

但问题是一个用户应该只投票一次。我已经搜索了一些solions并找到了一些东西。它是创建一个自定义模块并隐藏五星级字段并使用函数中的一个,我的问题是我无法隐藏该字段。
这是隐藏旧的并打印新的代码。

所以我做了,但它不起作用。hide($content['field_fivestar_rating'])不起作用,已经尝试问题hide($content['field_fivestar']); 是,如果我尝试打印 $content['field_fivestar_rating'] 它不会退出。

所以我要问的是somone是否知道我应该做什么。对不起,我的英语不好。

0 投票
1 回答
40 浏览

mobile - 使 Fivestar 7.x-2.2 适合移动设备

我正在使用 Fivestar 2.2 模块。一切正常,但在触摸屏上投票却不行:在 5 星小部件上给 5 星是不可能的,即使它在桌面上完美运行。不幸的是,我不允许提供链接。

有没有人已经解决了这个问题?Drupal.org 没有帮助。

0 投票
1 回答
28 浏览

api - 只有在 drupal 7 中手动清除缓存后才能看到正确的投票结果计数

在我的一个站点中,我正在使用投票 API 和五星级模块。

当匿名用户对产品进行评分时,投票会增加一,然后如果我们刷新页面,则会显示旧的投票计数,如果我们通过在 url 后面放置 ?fsdfsd 来刷新页面,则会显示正确的投票计数。

我添加了

这只是匿名用户的页面缓存问题。提前致谢