コンテンツタイプXのノードが作成されると、コンテンツタイプYのノードも作成され、作成されたコンテンツタイプXのnidへのnodereferenceフィールドが自動的に入力されるようにルールを作成しようとしています。次に、ユーザーは、作成したばかりのコンテンツタイプYのノードの編集フォームにリダイレクトされます。
私のルール設定は今のように見えます:
Event:新しいコンテンツを保存した後
条件:コンテンツのタイプはX
アクション:
リダイレクト(私が最も簡単な部分だと思った)を除いてすべてが期待どおりに機能します。両方のノードが作成され、ノード参照フィールドが正しく設定されます。しかし、次のメッセージでページが見つかりませんというエラーが表示されます。
通知:未定義のプロパティ:node_tokens()のstdClass :: $ nid(/web/xxxxxx/www/modules/node/node.tokens.incの112行目)。
「コンテンツタイプX」「タイプxの新しいコンテンツのタイトル」が作成されました
リクエストされたページ「/ node // edit」が見つかりませんでした。
また、ページリダイレクトにnode/[entity-created:nid]/editを試しました。同じ正確な問題。 node/*/editの間にコンテンツタイプYの新しいノードのnidがプラグインされていない理由がわかりません。
基本的に、「エンティティの作成」の直後に別のイベントを作成する必要があります。これにより、リダイレクトルールに進む前に新しいエンティティがすぐに保存されます。
http://groups.drupal.org/node/204558#comment-688188 も参照してください。
データ値を設定した後、「エンティティを保存」アクションを選択し、まだ必要でないページリダイレクトアクションを削除します。
次
次のルールを作成します。
イベント「新しいコンテンツを保存した後」
条件:タイプyのコンテンツ
アクション:ページのリダイレクト-> [node:edit-url]
両方のルールが完了したら、ルールの重みを設定して、一方が他方より先に実行されるようにすることができます。したがって、ルールを重み:-2に設定し、次に新しいルールを重み:-1に設定して保存します。ページの下部にある設定をクリックすると、重みの値のドロップダウンが表示されます。