Php Drupal#u get#u表单显示';数组';

Php Drupal#u get#u表单显示';数组';,php,drupal-7,Php,Drupal 7,我在Drupal7中工作,不得不对一个预先存在的模块进行编辑。如果某个变量被设置为true,则模块被设置为显示表单。我不得不添加3个额外的变量,现在我看到的不是表单,而是“Array”。除了if/else中的逻辑之外,我没有改变任何东西来确定是否应该提取表单 我发现了一个类似的问题,这里没有回答() 我的代码如下: <?php /** * @todo Please document this function. * @see http://drupal.org/node/1354

我在Drupal7中工作,不得不对一个预先存在的模块进行编辑。如果某个变量被设置为true,则模块被设置为显示表单。我不得不添加3个额外的变量,现在我看到的不是表单,而是“Array”。除了if/else中的逻辑之外,我没有改变任何东西来确定是否应该提取表单

我发现了一个类似的问题,这里没有回答()

我的代码如下:

<?php

/**
 * @todo Please document this function.
 * @see http://drupal.org/node/1354
 */
function du_r2t4_block_confirm_view() {

    $provider = du_r2t4_get_provider();
    //drupal_set_message("<pre>provider: ".var_export($provider,TRUE)."</pre>");

    $term = $provider->getCurrentTerm();
    //drupal_set_message("<pre>term: ".var_export($term,TRUE)."</pre>");
    if(!$term) return du_r2t4_get_msg_wrapped("no_term");

    global $user;
    $person = $provider->getPerson($user->name, ($term ? $term->code : NULL));
    //$person->termCode = NULL;
    //$person->satisfied = TRUE;
    //$person->satisfied = FALSE;
    //$person->satisfied = NULL;
    //drupal_set_message("<pre>person: ".var_export($person,TRUE)."</pre>");

    $enrollment = $provider->getEnrollment($person->username, $term->code);
    //$enrollment = array();
    //drupal_set_message("<pre>enrollment: ".var_export($enrollment,TRUE)."</pre>");

    $registered = $term->code && $term->code == $person->termCode && !empty($enrollment);

    if(!$registered) return du_r2t4_get_msg_wrapped("no_reg");

    $content = "";

    if($person->satisfied === TRUE) $content .= du_r2t4_get_msg_wrapped("satisfied");
    elseif($person->satisfied === FALSE) $content .= du_r2t4_get_msg_wrapped("required");
    else $content .= du_r2t4_get_msg_wrapped("unknown");

    $confirmed = $provider->getLastConfirmation($person);
    if($confirmed) $content .= du_r2t4_get_msg_wrapped("confirmed");

    /*
     * TODO move details to form builder
     */

    $content .= "<table style=\"width:auto;\"><tbody style=\"border:0;\">";
    $content .= "<tr><td valign=\"top\">Name:</td><td valign=\"top\">{$person->firstName} {$person->lastName}</td></tr>";
    $content .= "<tr><td valign=\"top\">Id:</td><td valign=\"top\">{$person->identity}</td></tr>";
    $content .= "<tr><td valign=\"top\">Term:</td><td valign=\"top\">{$term->description}</td></tr>";
    $content .= "<tr><td valign=\"top\">Classes:</td><td valign=\"top\">";
    /**
    * Session 2
    */
    $se2 = FALSE;
    $s4e = FALSE;
    $s4m = FALSE;
    $s4l = FALSE; 

    /**
    *
    * Session 2
    *
    */

    foreach ($enrollment as $k => $v) {
    switch ($v->sessionCode){
        case "SE2":
        $se2 = TRUE;
        $content .= $v->crn ." ". $v->subjectCode.$v->courseNumber  ." ".$v->courseTitle ." (" . $v->sessionDescription.")<br />";
        break;

        case "S4E":
        $s4e = TRUE;
        $content .= $v->crn ." ". $v->subjectCode.$v->courseNumber  ." ".$v->courseTitle ." (" . $v->sessionDescription.")<br />";
        break;

        case "S4M":
        $s4m = TRUE;
        $content .= $v->crn ." ". $v->subjectCode.$v->courseNumber  ." ".$v->courseTitle ." (" . $v->sessionDescription.")<br />";
        break;

        case "S4L":
        $s4l = TRUE;
        $content .= $v->crn ." ". $v->subjectCode.$v->courseNumber  ." ".$v->courseTitle ." (" . $v->sessionDescription.")<br />";
        break;

        default:
        $content .= "You're not enrolled in any classes.";
    }
    }

    $content .= "</td></tr>";
    $content .= "</table>";

    //if($_SESSION["du_r2t4_success"]) $content .= "<p>You have intent to attend confirmation has been submitted.</p>";
    //else $content .= drupal_get_form("du_r2t4_form_confirm",$term,$person);

    $content .= "<p>".du_r2t4_get_form_confirm_precontent()."</p>";

    //if(!$se2 || !$s4e || !$s4m || !$s4l || $_SESSION["du_r2t4_success"]) $_SESSION["du_r2t4_success"] = false;
    //else $content .= drupal_get_form("du_r2t4_form_confirm",$term,$person,$enrollment);
    //

    if ($se2 || $s4e  || $s4m  || $s4l  || !$_SESSION["du_r2t4_success"]) 
    {
        $content .= drupal_get_form("du_r2t4_form_confirm",$term,$person,$enrollment);
    }
    else 
    {
        $_SESSION["du_r2t4_success"] = false;
    }


    //$content .= drupal_get_form("du_r2t4_form_confirm",$term,$person);

    return $content;

}
非常感谢您的帮助

所要做的就是将表单数组转换成一些东西。如果希望表单显示为HTML,应尝试以下操作:


感谢您的回复!今天早些时候,我使用drupal_render获得了要显示的页面
if ($se2 || $s4e  || $s4m  || $s4l  || !$_SESSION["du_r2t4_success"]) 
        {
            $content .= drupal_get_form("du_r2t4_form_confirm",$term,$person,$enrollment);
        }
        else 
        {
            $_SESSION["du_r2t4_success"] = false;
        }
<?php

$form = drupal_get_form(...);
$content .= drupal_render($form);

?>