Created
October 13, 2015 19:02
-
-
Save doublejosh/6eedeface64c7d9fcbac to your computer and use it in GitHub Desktop.
Bundle extra field
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| // tableau_sitewide_tweaks.install | |
| /** | |
| * Utility function to hide ANY newly created extra_fields. | |
| * | |
| * @param $entity_type string | |
| * @param $bundle string | |
| * @param $field_name string | |
| */ | |
| function tableau_sitewide_tweaks_hide_new_extra_field($entity_type, $bundle, $field_name) { | |
| $settings = field_bundle_settings($entity_type, $bundle); | |
| $settings_updated = FALSE; | |
| $entity_info = entity_get_info($entity_type, $bundle); | |
| $view_modes = array_keys($entity_info['view modes']); | |
| if (!in_array('default', $view_modes)) { | |
| $view_modes[] = 'default'; | |
| } | |
| foreach ($view_modes as $view_mode) { | |
| if (!isset($settings['extra_fields']['display'][$field_name][$view_mode])) { | |
| $settings_updated = TRUE; | |
| $settings['extra_fields']['display'][$field_name][$view_mode] = array( | |
| 'weight' => 10, | |
| 'visible' => FALSE, | |
| ); | |
| } | |
| } | |
| if ($settings_updated) { | |
| field_bundle_settings($entity_type, $bundle, $settings); | |
| } | |
| } | |
| /** | |
| * Default new extra field to hidden. | |
| */ | |
| function tableau_sitewide_tweaks_update_7174() { | |
| foreach (node_type_get_types() as $bundle) { | |
| tableau_sitewide_tweaks_hide_new_extra_field('node', $bundle->type, 'bundle_name'); | |
| } | |
| } | |
| // tableau_sitewide_tweaks.module | |
| /** | |
| * Implements hook_node_view(). | |
| */ | |
| function tableau_sitewide_tweaks_node_view($node, $view_mode) { | |
| // Set bundle name extra field. | |
| $node->content['bundle_name'] = array('#markup' => node_type_get_name($node)); | |
| } | |
| /** | |
| * Implements hook_field_extra_fields(). | |
| */ | |
| function tableau_sitewide_tweaks_field_extra_fields() { | |
| foreach (node_type_get_types() as $bundle) { | |
| $extra['node'][$bundle->type] = array ( | |
| 'display' => array( | |
| 'bundle_name' => array( | |
| 'label' => t('Bundle label'), | |
| 'description' => t('Bundle name, as an extra field.'), | |
| 'weight' => -1, | |
| ) | |
| ) | |
| ); | |
| } | |
| return $extra; | |
| } | |
| // tableau_recommended.context.inc | |
| 'cck_blocks-field_recommend_override' => array( | |
| 'module' => 'cck_blocks', | |
| 'delta' => 'field_recommend_override', | |
| 'region' => 'content_below', | |
| 'weight' => '-1', | |
| ), |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment