Drupal commerce checkout的流程由多个page组成,每个page上面可以有多个pane。模块可以定义自己提供的pane,一个例子是commerce_customer.module里面的commerce_customer_commerce_checkout_pane_info函数。
每个pane里面定义的form可以通过callback显示,一个例子是commerce_customer.checkout_pane.inc里面的commerce_customer_profile_pane_checkout_form函数。
每个pane里面定义的form是可以通过admin管理页面设置的,因此需要定义这个pane的settings_form。模块可以定义模块提供的pane的相应settings_form。一个例子是commerce_customer.checkout_pane.inc的commerce_customer_profile_pane_settings_form函数。而commerce_checkout.admin.inc里面的commerce_checkout_pane_settings_form函数定义了一个公共的settings_form。
提交settings_form时,执行的代码在commerce_checkout.admin.inc的commerce_checkout_pane_settings_form_save_submit函数。重置settings_form时,执行的代码在commerce_checkout.admin.inc的commerce_checkout_pane_settings_form_reset_submit函数。