function _flexiform_multistep_field_group_format_settings in Flexiform 7
Add additional settings for multi-page forms.
1 call to _flexiform_multistep_field_group_format_settings()
- flexiform_multistep_field_group_format_settings in flexiform_multistep/
flexiform_multistep.module - Implements hook_field_group_format_settings().
File
- flexiform_multistep/
flexiform_multistep.admin.inc, line 192 - Admin functions for Flexiform Multistep.
Code
function _flexiform_multistep_field_group_format_settings($group) {
$flexiform = flexiform_load($group->bundle);
$settings = isset($flexiform->settings['flexiform_multistep']) ? $flexiform->settings['flexiform_multistep'] : array();
$form = array(
'instance_settings' => array(
'#tree' => TRUE,
'#weight' => 2,
),
);
$form['instance_settings']['save_entities'] = array(
'#type' => 'select',
'#title' => t('Entities to save on submission'),
'#empty_option' => t('Use form default - @default', array(
'@default' => t(!empty($settings['save_entities']) ? 'save entities on this page' : 'save all entities on last page'),
)),
'#options' => array(
'y' => t('Save entities exposed on this page'),
'n' => t("Don't save any entities on this page"),
'c' => t('Choose which entities to save'),
),
'#description' => t('Choose which entities should be saved on the submission of this page.'),
'#default_value' => isset($group->format_settings['instance_settings']['save_entities']) ? $group->format_settings['instance_settings']['save_entities'] : NULL,
);
$form['instance_settings']['save_entities_custom'] = array(
'#type' => 'checkboxes',
'#title' => t('Entities to save on page submission'),
'#options' => array(),
'#description' => t('Select which entities to save when this page is submitted. The last page will save all entities if none are selected.'),
'#default_value' => isset($group->format_settings['instance_settings']['save_entities_custom']) ? $group->format_settings['instance_settings']['save_entities_custom'] : array(),
'#states' => array(
'visible' => array(
':input[name="fields[' . $group->group_name . '][format_settings][settings][instance_settings][save_entities]"]' => array(
'value' => 'c',
),
),
),
);
foreach ($flexiform->entities as $namespace => $entity) {
$form['instance_settings']['save_entities_custom']['#options'][$namespace] = $entity['label'];
}
$form['instance_settings']['page_title'] = array(
'#type' => 'textfield',
'#title' => t('Page title'),
'#description' => t('Optionally provide a page title.'),
'#default_value' => isset($group->format_settings['instance_settings']['page_title']) ? $group->format_settings['instance_settings']['page_title'] : NULL,
);
return $form;
}