3

皆さん、私の問題を適切に説明できれば幸いです...

drupal 7を使用して予約通知Webサイトを作成しています。予約に関連するユーザーにのみ表示される「予約」と呼ばれるカスタムコンテンツタイプを使用しました(エンティティ参照モジュールを使用してノード内のユーザーに「タグ付け」し、ノードビューを制限しますノード アクセス ユーザー参照モジュールを使用してそのユーザーにのみ)。

システムは、SMS で今後の予定をユーザーに通知することも想定されています。SMSフレームワークとルールモジュールを取得して、事前定義された番号への予定の日付の前にSMS送信をトリガーすることができました.

ここまでは順調ですね。私の問題は -

ユーザーは、自分の電話に通知を受け取ることに興味がある場合に入力する「field_cellnumber」というオプションのプロファイル フィールドを持っています... ユーザーがそのフィールドに入力したかどうかをチェックし、そうである場合にのみ SMS 送信をトリガーするルールが必要です. どうすればこれを達成できますか? ルールの「条件」のすべてのオプションを調べてみましたが、ユーザープロファイルの存在固有の情報を参照できるものは何も見つかりませんでした...

また、別の問題はこれです- フィールド「field_cellnumber」は「予定」ノードタイプとユーザープロファイル間で共有されます(ノードタイプでフィールドを作成し、既存のフィールドを追加してユーザーアカウントに追加しました)。新しい「予定」ノードが作成されている間、エンティティ参照によってノードで参照されたユーザーのプロファイルから「field_cellnumber」の値を取得し、ノードの「field_cellnumber」値に自動的に入力します。現在、ルールはSMSを送信していますが、ノードを作成するたびにユーザーのセル番号を手動で入力する必要があり、これは非常に面倒です. ユーザーに「タグを付ける」ことで、ノードに自動的に割り当てられた連絡先情報を取得できるようになることを目指しています。

私は drupal にまったく慣れていないので、これら 2 つの目標を達成する方法についての参考文献を参照していただければ幸いです。どうもありがとう、私はこれまでとてもうまくやっていたので、あなたの答えを楽しみにしていますが、今は立ち往生しています.

4

1 に答える 1

3

これはエンティティ参照の完璧な使用例であり、ルールでこれを行うことができます。

load entity by IDエンティティのフィールドにアクセスする前に実行する必要があるアクション(または同様の名前) があります。そのため、node または profile2 フィールドに電話番号がある場合は、最初にそれをロードする必要があります。

エンティティ参照を介してさらにノードにアクセスするには、各ノードをロードする必要があります。フィールドが空かどうかを確認する条件があります。

これまでのところ、質問を理解しているので、これを行う必要があります。

  1. スケジュールされたルールまたは何らかのイベントでこれをトリガーします。
  2. 作成者 ID でユーザー アカウントを読み込みます。(負荷エンティティ)
  3. プロファイルを読み込みます (エンティティを読み込みます)。
  4. ここで、#3 で読み込まれたエンティティの値を取得するために、データ セレクターを正しく使用します。
  5. #1 イベント(予定ノード)から利用可能なエンティティの値を設定します。
  6. #5 のノードを保存します。

幸運を!

于 2012-11-11T17:21:30.340 に答える