我正在尝试从我尝试使用主题自定义的多步表单中删除讨厌的 div。问题是它抛弃了我的CSS。我不愿意在不知道这个 div 存在的正当理由的情况下更改我所有的 CSS 规则。
对于我所有其他主题形式,奇怪的是,这个 div 没有出现。唯一显着的区别是这种形式是多步的。我正在使用基于此处示例的代码。我在下面发布了一些代码。
function theme_mymodule_add_child_wizard($variables)
{
$form = $variables['form'];
$output .= '<div class="_'.$form['fname']['#ui_size'].'">';
$output .= drupal_render($form['fname']);
$output .= '</div>';
$output .= drupal_render_children($form);
return $output;
}
function hook_theme()
{
return array
(
'mymodule_add_child_wizard' => array
(
'render element' => 'form'
),
);
}
我的目标是转换这个:
<form>//My Drupal 7 Form
<div>//Pesky Div
<input></input>//Form elements contained by Pesky Div
</div>
</form>
进入这个:
<form>
<input></input>//Form elements free from Pesky Div
</form>
仅出于测试目的,我尝试更改核心 form.inc 文件中的第 3842 行以强制删除 div,但它没有那样工作。我实际上不想更改任何核心文件,我宁愿找到一种方法在我的模块中覆盖它。
#Tried removing the <div> tag seen here.
return '<form' . drupal_attributes($element['#attributes']) . '><div>' . $element['#children'] . '</div></form>';