function ds_edit_block_field_form in Display Suite 7.2
Same name and namespace in other branches
- 7 ds.fields.inc \ds_edit_block_field_form()
Manage a custom block.
2 string references to 'ds_edit_block_field_form'
- ds_ajax_add_field in modules/
ds_ui/ includes/ ds.fields.inc - Handles ctools modal Add field
- ds_ui_menu in modules/
ds_ui/ ds_ui.module - Implements hook_menu().
File
- modules/
ds_ui/ includes/ ds.fields.inc, line 422 - Administrative functions for managing custom fields for every entity.
Code
function ds_edit_block_field_form($form, &$form_state, $custom_block = '') {
drupal_set_title(empty($custom_block) ? t('Add a block field') : t('Edit block field'));
$custom_block = ds_shared_form($form, $custom_block);
$blocks = array();
foreach (module_implements('block_info') as $module) {
$module_blocks = module_invoke($module, 'block_info');
if ($module_blocks) {
foreach ($module_blocks as $module_key => $info) {
$blocks[drupal_ucfirst($module)][$module . '|' . $module_key] = $info['info'];
}
}
}
ksort($blocks);
foreach ($blocks as &$subarray) {
asort($subarray);
}
$form['block_identity']['block'] = array(
'#type' => 'select',
'#options' => $blocks,
'#title' => t('Block'),
'#required' => TRUE,
'#default_value' => isset($custom_block->properties['block']) ? $custom_block->properties['block'] : '',
);
$form['block_identity']['block_visibility'] = array(
'#type' => 'checkbox',
'#title' => t('Respect Block Visibility'),
'#description' => t('Toggle this checkbox if you would like this field to respect the same visibility settings configured for the block.'),
'#default_value' => isset($custom_block->properties['block_visibility']) ? $custom_block->properties['block_visibility'] : FALSE,
);
$form['block_identity']['block_render'] = array(
'#type' => 'select',
'#options' => array(
DS_BLOCK_TEMPLATE => t('Default'),
DS_BLOCK_TITLE_CONTENT => t('Show block title + content'),
DS_BLOCK_CONTENT => t('Show only block content'),
),
'#title' => t('Layout'),
'#required' => TRUE,
'#default_value' => isset($custom_block->properties['block_render']) ? $custom_block->properties['block_render'] : '',
);
$form['#validate'][] = 'ds_block_field_form_validate';
return $form;
}