2011-03-04 9 views
2

私はすでに答えを知っていますが、誰かが私のためにこれを確認できるかどうか疑問に思っていました。Drupal Flagモジュールとuidをフェッチする

コンテンツタイプにフラグを設定しました。そのコンテンツに一度フラグを付けると、メインリストから削除して、再度フラグを付けることはできません(少なくとも、メインリストからは簡単ではありません)。私はこのフラグを "グローバル"フラグとして設定します。誰かがフラグを立てると、フラグが立てられます。

ここで、誰が何を示しているのかを一覧表示するビューを設定したいと思いますが、返されるUIDが各コンテンツごとに0になるという問題が発生しています。私はデータベースをチェックし、flag_contentテーブル内のuidカラムはすべてのフラグについて0をリストします。これはフラグを「グローバル」に設定しているため、フラグモジュールはフラグを立てているユーザーのuidを記録しないためですか?もしそうなら、彼らはあなたに警告してはいけませんか?

ありがとうございました。

+0

誰かが疑問を持っている場合は、答えはYESです。 http://drupal.org/node/339657 – JGrubb

答えて

1

フラグが "global"に設定されているため、uidは常に0になります。ただし、workaroundがあります。

回避策:

  1. あなたはモジュールのCCKとルールをインストールする必要があります。
  2. あなたのグローバルフラグによって をフラグを立てることにしたいとあなたは(あなたが持っている場合 場による許可が必要なものは何でもユーザー に表示権限を与えることを忘れないでください)目に見えない に設定し、コンテンツタイプ/秒でusereferenceフィールドを作成します。 。
  3. "ノードにフラグが立てられました"というイベントのルールを作成し、参考にしたい グローバルフラグを設定します。
  4. アクション「フィールドに移入」を作成し、あなたが 前に作成したテusereference フィールドを選択し、「高度:フィールドの指定をPHPコードで の値が」あなたは置く:
    return array(0 => array('uid' => $flagging_user->uid));
    をこれはUIDを入れますあなたの 参照フィールドにフラグを立てているユーザーの名前を入力してください。
  5. あなたのビューでは、usereferenceフィールドを表示するだけで、 には、 というフラグが設定されている各ノードが表示されます。

ビューを実装して使用するのはかなり簡単です。これを行うには、CCKRulesモジュールがインストールされている必要があります。

+1

入手できます。クライアントは今すぐ私と一緒にいられます*。 – JGrubb

関連する問題