getPluginId() == 'customer_profile') { if ($inline_form['#profile_scope'] == 'billing' && !isset($inline_form['rendered'])) { // Modify the billing profile when in "form" mode. $inline_form['address']['widget'][0]['#type'] = 'fieldset'; // Individual address elements (e.g. "address_line1") can only // be accessed from an #after_build callback. $inline_form['address']['widget'][0]['address']['#after_build'][] = 'your_callback'; } } } /** * Provide a plugin-specific inline form alteration. * * Modules can implement hook_commerce_inline_form_PLUGIN_ID_alter() * to modify a specific inline form, rather than implementing * hook_commerce_inline_form_alter() and checking the plugin ID. * * Plugin-specific alter hooks are called after the general alter hooks. * * @param array $inline_form * The inline form. * @param \Drupal\Core\Form\FormStateInterface $form_state * The current state of the form. * @param array $complete_form * The complete form structure. * * @see hook_commerce_inline_form_alter() * * @ingroup commerce */ function hook_commerce_inline_form_PLUGIN_ID_alter(array &$inline_form, \Drupal\Core\Form\FormStateInterface $form_state, array &$complete_form) { // Modification for the inline form with the given plugin ID goes here. // For example, if PLUGIN_ID is "customer_profile" this code would run only // for the customer profile form. if ($inline_form['#profile_scope'] == 'billing' && !isset($inline_form['rendered'])) { // Modify the billing profile when in "form" mode. $inline_form['address']['widget'][0]['#type'] = 'fieldset'; // Individual address elements (e.g. "address_line1") can only // be accessed from an #after_build callback. $inline_form['address']['widget'][0]['address']['#after_build'][] = 'your_callback'; } } /** * @} End of "addtogroup hooks". */