Drupal 7をCommerceで使用していますが、それは本当に問題ではありません。自身を更新する更新機能の無限ループを防止しますか?
実物(私のショッピングカート)が更新されたときに呼び出されるフック(機能)hook_entity_update()
があります。
私はこのフックで船積みを再計算したいのですが、船積みが再計算されるとエンティティを再度保存し、フックを再度呼び出して無限ループに陥るという問題があります。
このような問題を解決するにはどうすればよいでしょうか?
$ _SESSION ['updating']のような単純な$ _SESSION変数を使用して、フックの開始時にTRUEに設定し、フックの最後にもう一度FALSEに設定して、変数がtrueに設定されている場合、関数は最初に戻り値で実行されますか?これが良い解決策であるかどうかは分かりません。
セッション変数を使用するのはフォームなので、関数は送信時に複数回呼び出されたようです。 通常の変数が機能するかどうか不明ですか?私はすでにに実行しているよ
1つの問題は、変数が何らかの形で機能の終了時にリセットされていないので、関数が再び呼び出されることはありませんということです...
'hook_entity_presave()'が適切でしょうか? –
私は同じ問題が起こるだろうか? –
ドキュメント(https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_entity_presave/7.x)を見れば、あなたの求めるもの。 –