在我的自定义模块中,我想添加评论功能。我已经尝试了几件事,但到目前为止还没有锻炼过。
// render comments form
$output .= theme('my_module_front_page');
$comment = new stdClass;
$comment->nid = $node_good_practice->nid;
$output .= render(drupal_get_form('comment_form', $comment));
return $output;
上面的代码将评论表单放到我的节点页面中。
但是当我填写评论表并提交时,它会将我重定向到这个页面:comment/reply/node id
然后我必须重新填写我的评论并且评论没有保存。
我想提交并留在同一页面而不是重定向。并且评论提交后必须保存。
现在,评论表单出现在我的节点页面(自定义模块模板)上。我输入评论并单击“保存”。我被发送到/comment/reply/<node_id>
,但所有评论字段都是空的。评论也没有保存。
我想要发生的是:
- 在节点页面上有一个评论表单
- 输入评论
- 点击“保存”
- Drupal 保存评论,并将我重定向回我正在查看的节点/页面。
我尝试过的事情
添加重定向
$form['#redirect'] = "/success-stories/".$node_good_practice->good_practice_name."/".$node_good_practice->nid;
它没有改变任何东西。
改变行动
$form['#action'] = "/success-stories/".$node_good_practice->good_practice_name."/".$node_good_practice->nid;
它把我重定向到
node/node_id/#comment-17
采用
drupal_build_form()
$info->nid = $node_good_practice->nid; $comment['build_info']['args'][0] = $info; $comment['redirect'] = "http://www.google.nl"; $output .= render(drupal_build_form('comment_form', $comment));
表单正在显示,但没有重定向;它被发送到
comment/reply/node_id
.