0

Drupal 6.22 Fivestar 6.x-1.19 Rules 6.x-1.4 これらのモジュールは、この投稿の時点で最新のものです。

私の目標は、ユーザーがノードに投票したときにユーザーをページにリダイレクトすることです。十分に単純でなければなりません。

ユーザーがノードに投票するときのルールを作成しました。条件なし。ルールがトリガーされていることを確認するためにログにメッセージを追加するアクションを追加しました。それはどれですか。次に、ホームページにリダイレクトするアクションを追加します (テスト用)。リダイレクトは決して起こりません。「ページリダイレクトをすぐに発行する」オプションをチェックすると、ajax投票は保存されず、「投票を保存しています...」でハングします。

私は何も悪いことをしているとは思わないので、これをファイブスターモジュールの問題に投稿します. 他の誰かがこの問題を抱えていますか?

4

1 に答える 1

1

http://drupal.org/node/252859

「URL へのリダイレクト ...」は、Fivestar の AJAX 投票メカニズムで間違いなく問題を引き起こします。何が起こっているかは次のとおりです。

通常の動作: - ユーザーが Fivestar ウィジェットをクリックして評価します。- AJAX リクエストは現在のページによって行われます。- VotingAPI は投票を保存します。- Fivestar は XML を生成し、ページを印刷します。- 現在のページが XML を受け取り、投票ウィジェットを新しい値で更新します。

VotingActions で何が起こるか: - ユーザーが Fivestar ウィジェットをクリックして評価する - AJAX リクエストが行われる - VotingAPI が投票を記録する - VotingActions がフックして、「この URL をリダイレクトしています」と言う <-- 問題が発生した場合 - 戻る代わりにXML を呼び出しページ (投票を更新する) に送信すると、VotingActions がページをリダイレクトした場所の完全な HTML ページが元のページに返されます。- Fivestar は、VotingActions が drupal_goto() を使用して実行を終了したため、XML を生成できません。

したがって、これは VotingActions や Fivestar のバグではないと思います。2 つの機能を互換性のない方法で使用した場合にすぎません。これを機能させるには、Fivestar はAJAX 駆動ではなく、代わりにページをリロードして投票を保存する必要があります

Fivestar は、次のページに移動するために使用できる便利な JavaScript フックを提供します。次のようなものを含むページに JavaScript を追加すると:

function fivestarResult(voteResult) {
    window.location.href = 'http://google.com';
}
于 2012-01-17T05:00:24.430 に答える