【问题标题】:How to redirect to a page after a fivestar vote in Drupal with Rules?使用规则在 Drupal 中进行五星级投票后如何重定向到页面?
【发布时间】:2012-01-17 03:41:45
【问题描述】:

Drupal 6.22 五星 6.x-1.19 规则 6.x-1.4 这些模块是本文发布时的最新模块。

我的目标是在用户对节点进行投票时将其重定向到页面。应该很简单。

我为用户何时对节点投票创建了规则。没有条件。我添加了一个操作来向日志中添加一条消息,以验证规则是否被触发。它是什么。然后添加一个动作以重定向到主页(用于测试)。重定向永远不会发生。如果我选中“立即发出页面重定向”选项,ajax 投票永远不会保存,只会挂在“保存投票...”。

我不认为我做错了什么,并将此发布到五星级模块问题。有其他人遇到过这个问题吗?

【问题讨论】:

    标签: drupal drupal-6 drupal-fivestar


    【解决方案1】:

    http://drupal.org/node/252859

    “重定向到 url ...”肯定会导致 Fivestar 的 AJAX 投票机制出现问题。以下是正在发生的事情:

    通常会发生什么: - 用户点击 Fivestar 小部件进行评分。 - AJAX 请求由当前页面发出。 - VotingAPI 保存投票。 - Fivestar 生成 XML 并打印页面。 - 当前页面接收 XML,然后使用新值更新投票小部件。

    VotingAction 会发生什么: - 用户点击 Fivestar 小部件进行评分 - 发出 AJAX 请求 - VotingAPI 记录投票 - VotingActions 插入并说“哦,我正在重定向此 URL”

    所以我认为这不是 VotingActions 或 Fivestar 中的错误,这只是以不兼容的方式使用两个功能的情况。为了使这项工作顺利进行,Fivestar 必须由 AJAX 驱动,而是重新加载页面以保存投票。

    Fivestar 提供了一个不错的 JavaScript 钩子,您可以使用它转到下一页。如果您将 JavaScript 添加到包含以下内容的页面:

    function fivestarResult(voteResult) {
        window.location.href = 'http://google.com';
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-10
      相关资源
      最近更新 更多