Drupal Flag模块和获取uid

时间:2011-03-04 19:27:14

标签: drupal views flags

我担心我已经知道了答案,但我想知道是否有人可以为我确认这一点。

我在内容类型上设置了一个标志。当这段内容被标记一次时,我希望它从主列表中删除,以便它不能再被标记(至少,不容易从主列表中标记)。我将此标志设置为“全局”标志,以便当有人标记它时,它会被标记为句点。

现在我想设置一个视图,列出谁标记了什么,但是遇到了每个内容返回的UID为0的问题。我检查数据库,flag_content表中的uid列为每个标志列出0。这是因为我将标志设置为“全局”,因此标志模块不记录标记用户的uid吗?他们不应该警告你,如果是这样吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

确实如此,因为标志设置为“全局”,uid将始终为0.但是有一个workaround

解决方法:

  
      
  1. 您需要安装模块CCK和规则。
  2.   
  3. 在要标记的内容类型中创建一个usereference字段   通过您的全局标志,您将其设置为   不可见的(如果你有权限的话   字段记得给视图权限   无论你需要什么用户)。
  4.   
  5. 为“已标记节点”事件创建规则,然后设置   你想要的全球国旗作为参考。
  6.   
  7. 创建一个“填充字段”操作,选择te usereference   您之前和之后创建的字段   “高级:指定字段值   用PHP代码“你把:
      return array(0 => array('uid' => $flagging_user->uid));
      这将把标记用户的uid放入你的   用途参考领域。
  8.   
  9. 在您的视图中,您只需要显示usereference字段即可   将查看已标记的每个节点   它。
  10.   

使用Views实现和使用非常简单。您需要安装CCKRules模块才能工作。