Drupal 6:在表单提交后重定向以显示一个块

时间:2011-12-06 16:18:08

标签: php forms drupal-6

距离Drupal还有一段时间,所以在这里:

我有一个接受用户输入(关键字)的表单,之后应该根据关键字显示最新的推文。因此我使用twitter pull模块..

function tweet_message_form() {
    $form['tweet_message'] = array(
        '#type' => 'textfield',
        '#title' => t('Fetch Tweets'),
        '#default_value' => variable_get('tweet_message', 'Keyword'),
    );

    //Submit button:
    $form['submit'] = array(
        '#type' => 'submit',
        '#value' => t('Save Message'),
    );

    return $form;
}

现在在tweet_message_form_submit($form, &$form_state)函数里面我应该写什么? 我希望在提交表单时显示一个块。

块代码是

<?php if (function_exists('twitter_pull_render')) { print twitter_pull_render('**keyword_entered**', '', 10); } ?>

我想从表单submit中将关键字的值传递给这个块。那么表单里面的代码应该提交什么?不是确切的代码,而是一些提示或教程链接。

2 个答案:

答案 0 :(得分:1)

嗯,您需要在提交表单后创建一个页面(或只是URL)。让我们说它在“/ example / thankyou”

在定义表单的函数中,您可以说:

  $form["#redirect"] = "example/thankyou";

或者,在提交处理程序中,您可以说:

  drupal_goto("example/thankyou");

要传递信息,您可以在提交处理程序中将值存储在SESSION变量中,或者只将其作为URL的一部分...

  drupal_goto("example/thankyou/THEVALUEGOESHERE");

答案 1 :(得分:1)

$form["#redirect"] = "example/thankyou";

drupal_goto()可能无法保存所有数据