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

时间:2012-08-17 20:08:55

标签: drupal drupal-7 drupal-fivestar

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

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

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

1 个答案:

答案 0 :(得分:0)

我花了一段时间才找到这个,但是以编程方式创建五星级值是这样的

$ node-> field_name_of_your_field [$ node-> language] [0] ['rating'] = 20;

打开Devel并浏览节点上Devel选项卡下显示的(Object)stdClass。