送信者がレビュー担当者を選択する送信レビューページを作成しています。投稿はレビュアーのプロフィールページに表示され、承諾ボタンと辞退ボタンが Button Field モジュールで実装されています。レビュー担当者が同意ボタンをクリックすると、新しいレビューコンテンツフォームにリダイレクトされます。
レビューコンテンツタイプには、送信コンテンツタイプへの ノード参照 フィールドがあり、 ノード参照URLウィジェット を使用して自動的に入力されます。
Rules モジュールを使用して、承諾ボタンがクリックされたかどうかを確認し、Pageリダイレクトアクションを実行します。
条件を定義した後エンティティのタイプはNodeです。置換パターンが表示され、使用できるようです:
だから私はリダイレクトするURLに相対URLとエンティティIDを入れます:
node/add/review/[entity:nid]
しかし、効果はありません。ルールは正しく実行されますが、[entity:nid]は空で、レビューアはnode/add/review /にリダイレクトされるため、ノード参照フィールドに事前入力するノードIDは使用できません。
私は何か間違ったことをしていますか、それともボタンフィールドの bug ですか?その機能を別の方法で実装するためのヒントはありますか?
Button Field モジュールを Rules モジュールと組み合わせて使用することに慣れていません。
しかし、あなたの質問の詳細から、entity:nid
値は実際には空白です。可能な解決策は、通常、次のいずれかのルールアクションを追加することです。
特に「IDでエンティティを取得」はやってみるといいと思います。また、 問題nr 1796952のコメントnr で記述されているため、次のような疑似コードがあります。
上記のいずれも役に立たない場合は、「投稿がレビューユーザーのプロフィールページに表示されます」の部分あなたの質問は、まったく異なるアプローチを使用するのに役立つかもしれません。それがビュー結果のようなものである場合は(そうですか?)、次のいずれかの方法を使用できます。
上記のいずれも役に立たない場合は、ルールのデバッグを使用することができます(たとえば、 Devel モジュールを使用して関連するものの値を表示し、「値を表示する」などのルールアクションを(一時的に)追加できるようにします。 "。詳細については、「 条件内の変数の値を表示するにはどうすればよいですか? 」を参照してください。
PS:それら2[〜#〜] and [〜#〜]ルール条件は必要ありませんあなたのケースでは(それはルールがマルチロールルール条件を組み合わせる方法のデフォルトです)。