モジュールを作成していて、2 つのカスタム パスが必要な場合:
path/path/path/index.htm (drupal_get_form を呼び出します)
そして投稿する
パス/パス/パス/結果.htm
どうやってそれをしますか?2 番目のパスで 404 を取得します。最初のパスでフォームと必要なものを簡単に取得できます。私がしたいのは、フォームの結果を drupal テーブルとしてテーマ化し、ここに表示することだけです。
モジュールを作成していて、2 つのカスタム パスが必要な場合:
path/path/path/index.htm (drupal_get_form を呼び出します)
そして投稿する
パス/パス/パス/結果.htm
どうやってそれをしますか?2 番目のパスで 404 を取得します。最初のパスでフォームと必要なものを簡単に取得できます。私がしたいのは、フォームの結果を drupal テーブルとしてテーマ化し、ここに表示することだけです。
これは良い賭けのように見えます: 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;
}
}
}
?>
とった。AHAHなどを実装しました。コールバックのパラメータを忘れました。