not president's blog

脳直で書きます。自分が覚えたい事を書いているだけです。

フォームAPIの始まりの続き

2.フォーム処理について~の続き

⑪フォームのテーマ関数検出
 $form['#theme']に既存関数が設定されていれば、それをフォームの
 テーマ化に使用する。
 なければ、このフォームIDに対尾するエントリをテーマレジストリから
 調べる。エントリが検出されれば、フォームIDが$form['#theme']に代入
 され、レンダリングする際にそのIDに基づいてテーマ関数を探す。

⑫モジュールによるレンダリング前のフォーム変更
 $form['#pre_render']プロパティに定義されたあらゆる関数は、コールされ、
 レンダリングされているフォームが渡される。

⑬フォームのレンダリング
 drupal_render()をコールする。
 1.$childeren要素が定義されているか判定
 2.要素が未レンダリングの場合、#typeのデフォルトテーマ関数を
   コールする。
 3.要素が生成されていて、1つ以上の関数名が#post_renderプロパティ
   にある場合は各関数をコールし、コンテンツと要素を渡します。
   #post_render関数は、最終的なコンテンツを返す必要がある。
 4.コンテンツの先頭に#prefixを、末尾に#suffixを付加し、関数から
   それを返します。

 →最終的に生成されたHTMLは、drupal_get_form()コール元に返される。
 

ここまで書いてみるに、内容が全然頭に入ってません。