Php 为什么drupal_render($form)不能正确渲染收音机类型?
我尝试使用渲染单个表单元素。我可以成功呈现'type'=>'textfield'或'radio'或'whatever'的元素 当我尝试渲染“type”=>“radios”元素时,出现了一些问题。我找不出原因,但是简单的收音机不能显示Php 为什么drupal_render($form)不能正确渲染收音机类型?,php,drupal,forms,drupal-6,Php,Drupal,Forms,Drupal 6,我尝试使用渲染单个表单元素。我可以成功呈现'type'=>'textfield'或'radio'或'whatever'的元素 当我尝试渲染“type”=>“radios”元素时,出现了一些问题。我找不出原因,但是简单的收音机不能显示 $options = array( '0' => 'no option', '1' => 'option 1', '2' => 'option 2', '3' => 'option 3', '4' =&
$options = array(
'0' => 'no option',
'1' => 'option 1',
'2' => 'option 2',
'3' => 'option 3',
'4' => 'option 4',
'5' => 'option 5'
);
$form['radiosinput'] = array(
'#type' => 'radios',
'#title' => 'radios title',
'#description' => 'radios description',
'#default_value' => 0,
'#options' => $options,
'#required' => TRUE,
);
var_dump( drupal_render($form) );
// string(257) "<div class="form-item">
// <label>radios title: <span class="form-required" title="This field is required.">*</span></label>
// <div class="form-radios"></div>
// <div class="description">radios description</div>
// </div>
// "
有人知道问题所在和解决方法吗?
渲染收音机或其他东西是否存在已知问题
谢谢 一小时前我正在做类似的事情。你的代码粘贴到我的表单中效果很好 试一试 drupal获得“你的形式id”
这样行吗?一小时前我正在做类似的事情。你的代码粘贴到我的表单中效果很好 试一试 drupal获得“你的形式id”
这行得通吗?如果没有表单,则无法呈现表单元素,因为该radios元素有一个form\u process\u radios的进程回调,只有在与表单API一起使用时才会调用该回调 您可以尝试以下方法:
$form['radiosinput'] = expand_radios($form['radiosinput']);
return drupal_render($form);
不能在没有表单的情况下呈现表单元素,因为radios元素具有form\u process\u radios的进程回调,该回调仅在与表单API一起使用时调用 您可以尝试以下方法:
$form['radiosinput'] = expand_radios($form['radiosinput']);
return drupal_render($form);
我想在表中呈现的checkbox元素也有同样的问题。我发现你的答案有点晚了 因此,对于所有其他搜索,如何使用和呈现复选框元素:
我想在表中呈现的checkbox元素也有同样的问题。我发现你的答案有点晚了 因此,对于所有其他搜索,如何使用和呈现复选框元素:
我可以补充一点,在D6中,您需要向radios元素添加parents=>array。
在我的例子中,如果否,expand_radios将抛出一个错误。Drupal 6.22我可能会添加,在D6中,您需要将parents=>数组添加到radios元素。
在我的例子中,如果否,expand_radios将抛出一个错误。Drupal 6.22对于D7,请使用表单处理复选框对于D7,请使用表单处理复选框谢谢,但我没有呈现表单,只是呈现特定元素。。。如果我将其包含在表单中,代码也可以正常工作。@andre matos了解为什么在没有表单的情况下呈现单选按钮可能会有所帮助。您是否可以通过主题层运行表单元素?theme_收音机之类的…谢谢,但我不是在渲染表单,只是那个特定的元素。。。如果我将其包含在表单中,代码也可以正常工作。@andre matos了解为什么在没有表单的情况下呈现单选按钮可能会有所帮助。您是否可以通过主题层运行表单元素?主题无线电或其他东西…形式处理是D7特有的。我正在寻找D6解决方案。无论如何,谢谢。啊,然后使用$form['radiosinput']=expand_radios$form['radiosinput'];请用这些信息更新您的答案,我会接受的!:drupal_renderexpand_radios$表单['radiosinput'];完成了任务。谢谢。表格和流程是D7特有的。我正在寻找D6解决方案。无论如何,谢谢。啊,然后使用$form['radiosinput']=expand_radios$form['radiosinput'];请用这些信息更新您的答案,我会接受的!:drupal_renderexpand_radios$表单['radiosinput'];完成了任务。谢谢。这在Drupal7中的等价物是什么?在Drupal7中的等价物是什么?