我为客户端创建了一个webform,其中存储了客户端信息,客户端可以登录并查看表单,但是当客户端查看表单时,它会显示提交表,然后客户端必须单击操作中的视图显示结果,我想实现一个函数,因此可以直接将客户端重定向到实际结果而不是提交表,而对于admin,提交表应该在那里...我想我需要实现hook_menu_alter()in一个自定义模块......想知道是否有人可以帮助我使用hook_menu_alter()的代码...提交表的url是“node / $ nid / submissions”,结果是“node / $ nid / submission / $ SID”。感谢
答案 0 :(得分:0)
表单提交后,您不需要hook_menu_alter来重定向。
您只需在#redirect
$form
添加hook_form_submit()
即可
它应该是这样的:
function hook_form($form_state){
// $form[] definition here
$form[] = array(
'#type' => 'submit',
'#value' => 'Submit Me!',
'#submit' => array('hook_form_submit'),
);
}
function hook_form_submit($form,&$form_state){
// sanitize/save your data here!
$form_state['redirect'] = 'redirect/me/to/somewhere/else';
}
答案 1 :(得分:0)
是的..用户和管理员都查看相同的表单... n管理员将代表用户填写表单并将作者设置为用户,以便用户可以查看填充的信息,因为我们将设置用户权限为“访问自己的结果”。现在,问题是当用户查看webform结果时,他首先得到一个“表”,显示“日期”和“操作”,如果用户点击“查看”,则显示填充的信息。所以,我只是想知道我们是否可以使用hook_menu_alter来改变它而不是那个'table'它直接向用户显示填充的信息...谢谢andre ..