diff --git a/profiles/wcm_base/CHANGELOG.txt b/profiles/wcm_base/CHANGELOG.txt index 81b0b68d4ea7b8681c7e89f6c1fde19aec167758..b0d6f459ff03f5ce0d767a2a613aee42fcb4eaa0 100644 --- a/profiles/wcm_base/CHANGELOG.txt +++ b/profiles/wcm_base/CHANGELOG.txt @@ -1,3 +1,8 @@ +WCM Base 7.x-1.x, 2016-05-04 +---------------------------- +- WCM Panels Settings: Added link field to image panels panes +- OCIO Omega Base: Render link field on image panels panes + WCM Base 7.x-1.x, 2016-04-28 ---------------------------- - OCIO Omega Base: Fixed regression where tile pane title appears twice. diff --git a/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.features.field_instance.inc b/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.features.field_instance.inc new file mode 100644 index 0000000000000000000000000000000000000000..b7da3b524743b76eb7513e987b1d5515ac141d23 --- /dev/null +++ b/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.features.field_instance.inc @@ -0,0 +1,74 @@ +<?php +/** + * @file + * wcm_panels_settings.features.field_instance.inc + */ + +/** + * Implements hook_field_default_field_instances(). + */ +function wcm_panels_settings_field_default_field_instances() { + $field_instances = array(); + + // Exported field_instance: 'fieldable_panels_pane-image-field_ocio_link'. + $field_instances['fieldable_panels_pane-image-field_ocio_link'] = array( + 'bundle' => 'image', + 'default_value' => NULL, + 'deleted' => 0, + 'description' => '', + 'display' => array( + 'default' => array( + 'label' => 'hidden', + 'settings' => array(), + 'type' => 'hidden', + 'weight' => 2, + ), + ), + 'ds_extras_field_template' => '', + 'entity_type' => 'fieldable_panels_pane', + 'field_name' => 'field_ocio_link', + 'label' => 'Link', + 'required' => 0, + 'settings' => array( + 'absolute_url' => 1, + 'attributes' => array( + 'class' => '', + 'configurable_class' => 0, + 'configurable_title' => 0, + 'rel' => '', + 'target' => 'default', + 'title' => '', + ), + 'display' => array( + 'url_cutoff' => 80, + ), + 'enable_tokens' => 1, + 'linkit' => array( + 'button_text' => 'Search', + 'enable' => 1, + 'profile' => 'ocio_field_linkit', + ), + 'rel_remove' => 'default', + 'title' => 'none', + 'title_label_use_field_label' => 0, + 'title_maxlength' => 128, + 'title_value' => '', + 'url' => 0, + 'user_register_form' => FALSE, + 'validate_url' => 1, + ), + 'widget' => array( + 'active' => 0, + 'module' => 'link', + 'settings' => array(), + 'type' => 'link_field', + 'weight' => 2, + ), + ); + + // Translatables + // Included for use with string extractors like potx. + t('Link'); + + return $field_instances; +} diff --git a/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.info b/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.info index af1bc7aa4373ed7cde7f7fbb5c37206df08b81f2..c090d2adb201cfa5206e981b91db612f3f97b1e0 100644 --- a/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.info +++ b/profiles/wcm_base/modules/custom/wcm_panels_settings/wcm_panels_settings.info @@ -57,9 +57,12 @@ features[features_overrides][] = page_manager_handlers.node_edit_panel_context.c features[features_overrides][] = page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|5 features[features_overrides][] = page_manager_handlers.node_edit_panel_context.conf|display|panels|sidebar|6 features[features_overrides][] = page_manager_handlers.node_edit_panel_context.weight +features[field_instance][] = fieldable_panels_pane-image-field_ocio_link features[variable][] = panels_page_allowed_layouts features[variable][] = panels_page_allowed_types features[variable][] = panels_page_default features[variable][] = panopoly_admin_front_page_and_sticky features_exclude[dependencies][file_entity] = file_entity +features_exclude[dependencies][link] = link +features_exclude[dependencies][ocio_field_bases] = ocio_field_bases features_exclude[features_overrides][file_display.image__preview__file_field_image.settings|image_style] = file_display.image__preview__file_field_image.settings|image_style diff --git a/profiles/wcm_base/themes/ocio_omega_base/template.php b/profiles/wcm_base/themes/ocio_omega_base/template.php index c76ce31d323346e14e9c144fbf51e768f702ea96..6060665d4f0c14d519e0db301eafaa956a62a4c6 100644 --- a/profiles/wcm_base/themes/ocio_omega_base/template.php +++ b/profiles/wcm_base/themes/ocio_omega_base/template.php @@ -105,30 +105,42 @@ function ocio_omega_base_omega_theme_libraries_info() { */ function ocio_omega_base_preprocess_fieldable_panels_pane(&$vars) { - if (!empty($vars['content']['title'])) { - $vars['tile_title'] = $vars['content']['title']['#value']; - } - $vars['tile_url'] = NULL; - if (!empty($vars['content']['field_tile_link'])) { - $link = $vars['content']['field_tile_link']['#items'][0]; - $vars['tile_url'] = url($link['url'], array('absolute' => TRUE, 'fragment' => $link['fragment'], 'query' => $link['query'])); - } - if (!empty($vars['content']['field_background_color'])) { - $vars['classes_array'][] = $vars['content']['field_background_color']['#items'][0]['value']; - } - if (!empty($vars['content']['field_background_color_2'])) { - $vars['classes_array'][] = $vars['content']['field_background_color_2']['#items'][0]['value']; - } - if (!empty($vars['content']['field_tile_image_style'])) { - $style = $vars['content']['field_tile_image_style']['#items'][0]['value']; - $vars['tile_icon'] = ($style == 'icon'); + $type = $vars['elements']['#bundle']; - if (!empty($style)) { - $vars['classes_array'][] = 'tile-image-style-' . $style; + // Tile panes + if (in_array($type, array('tile_pane', 'tile_pane_plus_text_area'))) { + if (!empty($vars['content']['title'])) { + $vars['tile_title'] = $vars['content']['title']['#value']; + } + $vars['tile_url'] = NULL; + if (!empty($vars['content']['field_tile_link'])) { + $link = $vars['content']['field_tile_link']['#items'][0]; + $vars['tile_url'] = url($link['url'], array('absolute' => TRUE, 'fragment' => $link['fragment'], 'query' => $link['query'])); + } + if (!empty($vars['content']['field_background_color'])) { + $vars['classes_array'][] = $vars['content']['field_background_color']['#items'][0]['value']; + } + if (!empty($vars['content']['field_background_color_2'])) { + $vars['classes_array'][] = $vars['content']['field_background_color_2']['#items'][0]['value']; + } + if (!empty($vars['content']['field_tile_image_style'])) { + $style = $vars['content']['field_tile_image_style']['#items'][0]['value']; + $vars['tile_icon'] = ($style == 'icon'); + + if (!empty($style)) { + $vars['classes_array'][] = 'tile-image-style-' . $style; + } + } + if (!empty($vars['tile_url'])) { + $vars['classes_array'][] = 'tile-pane-linked'; } } - if (!empty($vars['tile_url'])) { - $vars['classes_array'][] = 'tile-pane-linked'; + + // Image panes + elseif ($type == 'image') { + if (!empty($vars['content']['field_basic_image_image'])) { + $vars['content']['field_basic_image_image'][0]['#path']['path'] = !empty($vars['elements']['#fieldable_panels_pane']->field_ocio_link) ? $vars['elements']['#fieldable_panels_pane']->field_ocio_link['und'][0]['display_url'] : NULL; + } } } @@ -152,7 +164,6 @@ function ocio_omega_base_preprocess_field(&$vars) { if (isset($vars['element']['#object']->field_banner_image_text_bkground['und'][0]['value'])) { $vars['classes_array'][] = $vars['element']['#object']->field_banner_image_text_bkground['und'][0]['value']; } - } }