0

なぜ私がそうする必要があるのか​​、なぜ私がそんなに変質者なのかを聞かないでください。

drupal 6 に Organic Groups モジュールがあります。何らかの理由で、このモジュールに node_access フックを追加する必要があります。

「og.module」ファイルまたはこのモジュールに接続されているファイルには、事前設定された node_access フックはありません (私はこれを確認しました)。次の本体で「og_node_access」関数を追加しようとしました:「echo '1111111'; return true;」どこにもトリガーしません(エコーはまったくありません)。og.module ファイルに追加しようとしました。

PS: 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 モジュールでは正しく動作しない (実際にはまったく動作しない) ため、ハードコーディングする必要があります。

PPS: OG は一種のたわごとであり、いくつかの代替手段があることは知っていますが、説明された方法でこれを行う必要があるだけです。

4

1 に答える 1

0

だから... node_grantsフック(コメントで「access_grants」ではなく「node_grants」と間違えました)が私の問題を解決しました。残念ながら、私はあまりにも多くの時間を (丸一日) グーグルで検索し、少し複雑な drupal の権限付与システムを理解しようとしました。とにかく、あなたの答えに感謝ます

于 2012-11-01T17:50:32.747 に答える