使用叠加评论表单时,重定向到最后一页

时间:2013-07-24 09:49:26

标签: redirect drupal-7 drupal-comments

我有一个视图(阶段4),其中包含一些自定义内容类型内容,用户可以在其中发表评论。

当用户想要评论时,评论表单应该以模式形式出现。我通过使用管理覆盖解决了这个问题。 将以下功能添加到我的自定义模块:

    function phase2_admin_paths_alter(&$paths) {
        $paths['comment/reply/*'] = TRUE;
    }

并使用以下链接:

<a href="<?php print base_path(); ?>comment/reply/<?php print $fields['nid']->content; ?>">Comment</a>

以模式方式打开评论表单。到目前为止一切都那么好......但是......

如何将用户重定向回用户来自的页面。 我知道我必须覆盖template_form_FORMID_alter中表单的#action,比如

$form['#action'] = $lasturl;

但是如何获取最后一个url,以便它可以重用(所以硬编码url不是一个选项)?

我的第一个想法是,我将最后一个网址作为$ _GET参数添加到网址,但它看起来像这样:

www.example.com/phase4#overlay=comment/reply/161%3Furl%3Dphase4

我也尝试过drupal_get_destination(),但要么没有成功,因为“?”的转换和网址中的“=”。

还有其他方法可以找出用户的来源吗?

注意:phase4不是节点161的别名。阶段4是视图,其中节点161是元素。

干杯 汤姆

1 个答案:

答案 0 :(得分:0)

您必须使用drupal_get_destination()功能和l()功能来创建此类链接。

$destination = drupal_get_destination(); // Store current path

<a href="<?php print base_path(); ?>comment/reply/<?php print $fields['nid']->content . "?destination=".$destination; ?>">Comment</a>