function _field_orbit_format_image in ZURB Orbit 7.2
Formats Images for Orbit.
Parameters
$num:
$field_orbit_zebra:
$item:
$variables:
1 call to _field_orbit_format_image()
- template_preprocess_field_orbit in ./
field_orbit.module - Implements template_preprocess().
File
- ./
field_orbit.module, line 647 - Implement a orbit formatter for fields.
Code
function _field_orbit_format_image($num, $field_orbit_zebra, $item, &$variables) {
// Generate classes
$classes = array(
'field-orbit-slide',
'field-orbit-slide-' . $num,
);
$field_orbit_zebra = $field_orbit_zebra == 'odd' ? 'even' : 'odd';
$classes[] = $field_orbit_zebra;
if ($num == 0) {
$classes[] = 'first';
}
elseif ($num == count($variables['items']) - 1) {
$classes[] = 'last';
}
$variables['items'][$num]['classes'] = implode(' ', $classes);
$wrapper = entity_metadata_wrapper('file', $item['fid']);
// Generate the image html
$image = array();
$image['path'] = $item['uri'];
$image['attributes']['class'] = array(
'field-orbit-image',
'field-orbit-image-' . $num,
);
if (!empty($item['caption'])) {
$image['attributes']['data-caption'] = '#field-orbit-image-' . $num . '-caption';
$variables['items'][$num]['caption_id'] = 'field-orbit-image-' . $num . '-caption';
$variables['items'][$num]['caption'] = $item['caption'];
}
if (!empty($item['alt'])) {
$image['alt'] = $item['alt'];
}
if (!empty($item['title'])) {
$image['title'] = $item['title'];
}
if (isset($variables['options']['orbit_image_style']) && $variables['options']['orbit_image_style'] != '') {
$image['style_name'] = $variables['options']['orbit_image_style'];
$variables['items'][$num]['media'] = theme('image_style', $image);
}
else {
$variables['items'][$num]['media'] = theme('image', $image);
}
if ($variables['options']['bulletThumbs']) {
$thumb = array();
$thumb['path'] = $item['uri'];
$thumb['style_name'] = $variables['options']['orbit_bullet_thumbs'];
$thumb['attributes']['class'] = array(
'field-orbit-thumb',
'field-orbit-thumb-' . $num,
);
$variables['items'][$num]['thumb'] = theme('image_style', $thumb);
}
if (isset($variables['image_style']) && $variables['image_style'] != '') {
if (function_exists('image_style_transform_dimensions')) {
image_style_transform_dimensions($image['style_name'], $dimensions);
}
}
// Add links if needed
$links = array(
'slide_link' => 'media',
);
if (isset($item['caption']) && $item['caption'] != '') {
$links['caption_path'] = 'caption';
}
// Loop thru required links (because image and caption can have different links)
foreach ($links as $link => $out) {
if (!empty($item[$link])) {
$path = $item[$link]['path'];
$options = $item[$link]['options'];
// When displaying an image inside a link, the html option must be TRUE.
$options['html'] = TRUE;
if (isset($variables['items'][$num]['caption_id'])) {
$options['attributes']['data-caption'] = '#' . $variables['items'][$num]['caption_id'];
}
// Generate different rel attribute for image and caption, so colorbox doesn't double the image list
if (isset($options['attributes']['rel'])) {
$options['attributes']['rel'] .= $out;
}
$options = array_merge($options, drupal_parse_url($path));
$variables['items'][$num][$out] = l($variables['items'][$num][$out], $options['path'], $options);
}
}
}