質問: theming user_profile_form(ユーザー編集フォーム) ユーザープロファイルフォームにテーマを設定する簡単な方法を探しています。これにより、フォームの2列のレイアウトを設定し、特定の要素を除外できます。どうすればそれを達成できますか?
回答: areynolds'sコードの修正: 'render要素のアンダースコアの修正function yourtheme_theme($existing, $type, $theme, $path){ return array( 'user_profile_form' => array( 'render element' => 'form', 'template' => 'user-profile-form', 'path' => drupal_get_path('theme', 'yourtheme') . '/templates', //add '/templates' only if you store template files in an additional folder ), ); } データの上書き(アカウント->画像)およびアクション要素の追加(フォームボタン)からの前処理関数を修正します。function yourtheme_preprocess_user_profile_form(&$variables) { $required_elements[]=$variables['form']['account']; $required_elements[]=$variables['form']['picture']; $required_elements[]=$variables['form']['actions']; $variables['rendered'] = drupal_render($required_elements); } しかし、このすべての操作はフォームの外観のみを提供します。しかし、フォームは検証、送信ハンドラーなどの他の要素を必要とするため、適切に機能しません。したがって、必要なすべてのフォームメタデータを残して、$ variables ['form']配列で不要な要素を非表示にする最善の方法だと思います。