Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Drupal:在块tpl中呈现表单_Php_Drupal_Drupal 7_Drupal Fapi_Drupal Forms - Fatal编程技术网

Php Drupal:在块tpl中呈现表单

Php Drupal:在块tpl中呈现表单,php,drupal,drupal-7,drupal-fapi,drupal-forms,Php,Drupal,Drupal 7,Drupal Fapi,Drupal Forms,如何渲染作为可渲染数组一部分的窗体 In.模块 /** * Implements hook_block_view(); */ function bibdk_vejviser_block_view($delta = '') { switch ($delta) { case 'bibdk_vejviser': $block['title'] = t('Find Library'); $block['content'] = array( '

如何渲染作为可渲染数组一部分的窗体



In.模块

/**
 * Implements hook_block_view();
 */
function bibdk_vejviser_block_view($delta = '') {

  switch ($delta) {
    case 'bibdk_vejviser':
      $block['title'] = t('Find Library');
      $block['content'] = array(
        'link' => array(
          '#type' => 'link',
          '#title' => t("Find library"),
          '#href' => 'http://example.org',
        ),
        'form' => drupal_get_form('bibdk_vejviser_form'),
      );
      break;
  }
  return $block;
}


在customblock.tpl中

// This will work (renders both elements)
print $content;

// This will also work (renders link)
print render($elements['link']);

// This will NOT work (renders nothing)
print render($elements['form']);


我做错了什么



更新: 如果我将drupal_get_form()包装成一个数组,它就会工作。这是为什么

...
'form' => array(drupal_get_form('bibdk_vejviser_form')),
...

当您使用
drupal\u render
包装
drupal\u get\u表单时,它应该可以工作

诸如此类:

...
'form' => array(
'#markup' => drupal_render(drupal_get_form('bibdk_vejviser_form'))),
...

希望这能奏效。。。Muhammad。

当您使用
drupal\u呈现来包装
drupal\u get\u表单
时,它应该会起作用

诸如此类:

...
'form' => array(
'#markup' => drupal_render(drupal_get_form('bibdk_vejviser_form'))),
...

希望这能奏效。。。穆罕默德。

嗯。。这里没用。此外,解决方案将返回一个字符串,这与渲染数组的原理不符。在我的解决方案中,您也可以使用hook\u block\u view\u alter来更改表单。嗯。。这里没用。此外,解决方案将返回一个字符串,这与渲染数组的原理不符。在我的解决方案中,您也可以使用hook\u block\u view\u alter更改表单。