注册Drupal菜单路径?
问题描述:
如果我想提出一个模块,并希望有两个自定义路径:注册Drupal菜单路径?
路径/路径/路径/ index.htm的(调用drupal_get_form)
,并张贴到
路径/路径/路径/result.htm
你是怎么做的?我在第二条路上得到了404。我很容易地获得第一条路的形式和我想要的。我想要做的就是将表单结果作为drupal表格主题并在此处显示。
答
明白了。实施了AHAH和所有这些。忘记我的回调中的参数。
答
这看起来像一个不错的选择:http://drupal.org/node/290462
<?php
/**
* Implementation of hook_form_alter().
*/
function jm_form_alter(&$form, $form_state, $form_id) {
if (isset($form['#node']) && $form['#node']->type .'_node_form' == $form_id) {
$form['buttons']['submit']['#submit'][] = 'jm_redirect_handler';
}
}
/**
* Attaches the redirect to the submitted form.
*
* @param unknown_type $form
* @param unknown_type $form_state
* @return unknown
*/
function jm_redirect_handler($form, &$form_state) {
if ($form_state['nid']) {
// reloading as I do not know the node type context. You probably do not need to :), just set the redirect using $form_state['nid']
$node = node_load(array('nid' => $form_state['nid']));
switch($node->type) {
case 'project':
$form_state['redirect'] = 'projects/'. $node->nid;
}
}
}
?>