我有一个视图(阶段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是元素。
干杯 汤姆
答案 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>