【问题标题】:drupal add node_access hook to existing module (OG)drupal 将 node_access 钩子添加到现有模块(OG)
【发布时间】:2012-10-31 15:54:23
【问题描述】:

请不要问我为什么需要这样做,或者我为什么这么变态。

我在 drupal 6 上有一个有机组模块。 出于某种原因,我需要向该模块添加 node_access 钩子。

“og.module”文件或任何文件中没有预设的node_access钩子,连接到这个模块(我已经检查过这个)。 我尝试使用以下主体添加“og_node_access”函数:“echo '1111111';return true;”它不会在任何地方触发(根本没有回声)。我尝试将其添加到 og.module 文件中。

附: 请不要为 OG 推荐任何访问扩展 - 我已经尝试了很多。我只需要:(伪代码)

    if ($op=='view'){
      if ($node->type == 'xxxx' || $node->type =='yyyyyyyy') {
          SHOW THIS TYPE OF NODES ONLY TO ADMIN(S) OF THE GROUP (OR SITE) AND THE AUTHOR OF THE NODE, NOBODY ELSE (EVEN IN THE SAME GROUP) IS ALLOWED TO SEE IT OR TOUCH IT.
      } else {
        USE DEFAULT RULES (return IGNORE);
      }
    } 

而且我需要对它进行硬编码,因为分类法访问、内容访问和其他“访问”模块不能与 OG 模块一起正常工作(实际上它们根本不工作)。

附: 我知道,OG 有点糟糕,有几种选择,但我只需要以描述的方式完成。

【问题讨论】:

  • hook_node_access() 是 Drupal 7 钩子,在 Drupal 6 中没有这样的东西(这就是为什么 Drupal 6 有这么多其他“访问”模块)
  • 我明白了...那么有什么方法可以允许/拒绝用户查看节点,具体取决于节点类型和用户“组角色”? (我对 drupal 有点陌生,所以我只是不完全了解 access_grants 挂钩是如何工作的,以及是否适合编辑)。

标签: drupal drupal-6 hook drupal-modules drupal-hooks


【解决方案1】:

所以... node_grants 挂钩(我在评论中打错了“node_grants”而不是“access_grants”)解决了我的问题。 不幸的是,我花了太多时间(一整天)在谷歌上搜索并试图了解一些复杂的 drupal 赠款系统。 无论如何,谢谢(all)的回答(s)

【讨论】:

    猜你喜欢
    • 2015-02-01
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    相关资源
    最近更新 更多