テーマでカスタマイズしようとしているマルチステップ フォーム内から厄介な 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>';