0

我有一个视图(第 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 不是一种选择)?

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

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

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

还有其他方法可以找出用户来自哪里吗?

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

干杯汤姆

4

1 回答 1

0

您必须使用带有l()函数的drupal_get_destination( )函数来创建此类链接。

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

<a href="<?php print base_path(); ?>comment/reply/<?php print $fields['nid']->content . "?destination=".$destination; ?>">Comment</a>
于 2013-07-27T14:44:48.547 回答