Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Implements hook_element_info_alter().
- *
- * Sets the text format processor to a custom callback function.
- * This code is taken from the Better Formats module.
- */
- function default_text_format_element_info_alter(&$type) {
- if (isset($type['text_format']['#process'])) {
- foreach ($type['text_format']['#process'] as &$callback) {
- if ($callback === 'filter_process_format') {
- $callback = 'default_text_format_filter_process_format';
- }
- }
- }
- }
- /**
- * Callback for MODULENAME_element_info_alter().
- */
- function default_text_format_filter_process_format($element) {
- $element = filter_process_format($element);
- // Change input format to "Filtered HTML" for body fields of article nodes
- if ($element['#bundle'] == 'article' && $element['#field_name'] == 'body') {
- $element['format']['format']['#default_value'] = 'filtered_html';
- }
- return $element;
- }
- name = Default text format
- description = Adapt the module code to set a default format for a content type.
- package = Custom modules
- core = "7.x"
- /**
- * Implements hook_form_FIELD_UI_FIELD_EDIT_FORM_alter().
- */
- function MY_MODULE_form_field_ui_field_edit_form_alter(&$form, &$form_state) {
- if ($form['#field']['type'] == 'text_long') {
- $instance = $form['#instance'];
- // Fieldset for Default Formats settings.
- $filters = filter_formats();
- $options = array('_none' => t('None'));
- foreach ($filters as $key => $filter) {
- $options[$key] = $filter->name;
- }
- $form['instance']['settings']['default_filter'] = array(
- '#type' => 'fieldset',
- '#title' => t('Default Filter Settings'),
- '#collapsible' => FALSE,
- '#collapsed' => FALSE,
- );
- $form['instance']['settings']['default_filter']['wysiwyg_profile'] = array(
- '#type' => 'select',
- '#title' => t('Select a default format for this field'),
- '#description' => t('The selected text format will influence the button and plugin configuration of WYSIWYG.'),
- '#default_value' => isset($instance['settings']['default_filter']['wysiwyg_profile'])
- ? $instance['settings']['default_filter']['wysiwyg_profile'] : '_none',
- '#options' => $options,
- );
- }
- }
- /**
- * Implements hook_element_info_alter().
- *
- * Sets the text format processor to a custom callback function.
- * This code is taken from the Better Formats module.
- */
- function MY_MODULE_element_info_alter(&$type) {
- if (isset($type['text_format']['#process'])) {
- foreach ($type['text_format']['#process'] as &$callback) {
- if ($callback === 'filter_process_format') {
- $callback = 'MY_MODULE_filter_process_format';
- }
- }
- }
- }
- /**
- * Callback for MY_MODULE_element_info_alter().
- *
- * Alters the default text format of fields.
- */
- function MY_MODULE_filter_process_format($element) {
- $element = filter_process_format($element);
- // Configuration array that specifies the fields that need to be altered.
- $field_info = field_info_instance($element['#entity_type'],
- $element['#field_name'],
- $element['#bundle']);
- // Change input format to configured value.
- if (isset($field_info['settings']['default_filter']['wysiwyg_profile']) && $field_info['settings']['default_filter']['wysiwyg_profile'] != '_none') {
- $element['format']['format']['#default_value'] = $field_info['settings']['default_filter']['wysiwyg_profile'];
- }
- return $element;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement