function fancybox_field_formatter_view in fancyBox 7
Same name and namespace in other branches
- 7.2 fancybox.module \fancybox_field_formatter_view()
Implements hook_field_formatter_view().
File
- ./
fancybox.module, line 543 - Provides the Fancybox jQuery plugin for displaying images, HTML content and multimedia in an elegant box.
Code
function fancybox_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array();
$settings = variable_get('fancybox_settings', array());
fancybox_activate($settings);
// Get grouping settings
$rel = '';
if (!empty($settings['imagefield']['grouping'])) {
switch ($settings['imagefield']['grouping']) {
case 1:
$rel = $field['field_name'];
break;
case 2:
$rel = 'all-images';
break;
default:
$rel = '';
}
}
foreach ($items as $delta => $item) {
$style_name = isset($display['settings']['image_link_style']) ? $display['settings']['image_link_style'] : 0;
if ($style_name) {
$style_path = image_style_path($style_name, $item['uri']);
if (!file_exists($style_path)) {
$style_path = image_style_url($style_name, $item['uri']);
}
}
else {
$style_path = file_create_url($item['uri']);
}
$href = file_create_url($style_path);
// Image caption.
if (!empty($settings['imagefield']['use_node_title'])) {
$image_title = $entity->title;
}
else {
$image_title = !empty($item['title']) ? $item['title'] : '';
$image_title = !empty($image_title) ? $image_title : $item['alt'];
}
$element[$delta] = array(
'#theme' => 'image_formatter',
'#item' => $item,
'#image_style' => $display['settings']['image_style'],
'#path' => array(
'path' => $href,
'options' => array(
'attributes' => array(
'class' => array(
'imagefield-fancybox',
),
'rel' => $rel,
'title' => $image_title,
),
),
),
);
}
return $element;
}