function template_preprocess_views_jqfx_galleria in Views jQFX Galleria 7
@TODO.
File
- theme/
views_jqfx_galleria.theme.inc, line 11 - Theme & preprocess functions for the Views jQFX: Galleria module.
Code
function template_preprocess_views_jqfx_galleria(&$vars) {
$options = $vars['options']['views_jqfx_galleria'];
$view = $vars['view'];
// Get our image styles
$main_style = $options['image']['main_style'];
$thumb_style = $options['image']['thumbnails']['thumb_style'];
$big_style = $options['image']['fullscreen']['fullscreen_style'];
// @TODO
// Get the field map settings
// Proper namespace prefix needs to be returned
// if it's field, node, entity, etc...
if (!empty($options['fields']['image_field'])) {
if ($options['fields']['image_field'] == 'title' || $options['fields']['image_field'] == 'body') {
$image_field = "node_" . $options['fields']['image_field'];
$image_node_field = TRUE;
}
else {
$image_field = "field_" . $options['fields']['image_field'];
}
}
else {
$image_field = NULL;
}
// Title field
if (!empty($options['fields']['title_field'])) {
if ($options['fields']['title_field'] == 'title' || $options['fields']['title_field'] == 'body') {
$title_field = "node_" . $options['fields']['title_field'];
$title_node_field = TRUE;
}
else {
$title_field = "field_" . $options['fields']['title_field'];
}
}
// Description field
if (!empty($options['fields']['desc_field'])) {
if ($options['fields']['desc_field'] == 'title' || $options['fields']['desc_field'] == 'body') {
$desc_field = "node_" . $options['fields']['desc_field'];
$desc_node_field = TRUE;
}
else {
$desc_field = "field_" . $options['fields']['desc_field'];
}
}
// Link field
if (!empty($options['fields']['link_field'])) {
if ($options['fields']['link_field'] == 'title' || $options['fields']['link_field'] == 'body') {
$link_field = "node_" . $options['fields']['link_field'];
$link_node_field = TRUE;
}
else {
$link_field = "field_" . $options['fields']['link_field'];
}
}
// Layer title field
if (!empty($options['fields']['layer_field_title'])) {
if ($options['fields']['layer_field_title'] == 'title' || $options['fields']['layer_field_title'] == 'body') {
$layer_title_field = "node_" . $options['fields']['layer_field_title'];
$layer_title_node_field = TRUE;
}
else {
$layer_title_field = "field_" . $options['fields']['layer_field_title'];
}
}
// Layer text field
if (!empty($options['fields']['layer_field_text'])) {
if ($options['fields']['layer_field_text'] == 'title' || $options['fields']['layer_field_text'] == 'body') {
$layer_text_field = "node_" . $options['fields']['layer_field_text'];
$layer_text_node_field = TRUE;
}
else {
$layer_text_field = "field_" . $options['fields']['layer_field_text'];
}
}
// Find out if our link image field module is installed
// And use its formatter if it is
// if (module_exists('linkimagefield')) {
// $formatter = 'linkimage_formatter';
// }
// else {
$formatter = 'image_formatter';
// }
// @TODO
// foreach loops need to be nested so that
// proper field mapping data is returned for the image
// whether it is coming from a single entity or
// we are trying to pair fields with data from
// multiple entities
$slide = array();
if (!is_null($image_field) && !isset($image_node_field)) {
foreach ($view->result as $rid) {
foreach ($rid->{$image_field} as $iid => $image) {
$image_uri = $image['raw']['uri'];
$main_url = views_jqfx_galleria_main_image_url($main_style, $image_uri);
$big_url = views_jqfx_galleria_big_image_url($big_style, $image_uri);
if (!empty($big_url)) {
$attr = array(
'attributes' => array(
'rel' => $big_url,
),
);
}
else {
$attr = array();
}
$slide = array(
'#theme' => $formatter,
'#item' => $image['rendered']['#item'],
'#image_style' => $thumb_style,
'#path' => array(
'path' => $main_url,
'options' => $attr,
),
);
// Override default title
if (!empty($title_field)) {
if (isset($title_node_field)) {
$slide['#item']['title'] = $rid->{$title_field};
}
elseif (!empty($rid->{$title_field}[$iid]['rendered']['#markup'])) {
$slide['#item']['title'] = $rid->{$title_field}[$iid]['rendered']['#markup'];
}
else {
$slide['#item']['title'] = NULL;
}
}
// Override default description
if (!empty($desc_field)) {
if (isset($desc_node_field)) {
$slide['#item']['alt'] = $rid->{$desc_field};
}
elseif (!empty($rid->{$desc_field}[$iid]['rendered']['#markup'])) {
$slide['#item']['alt'] = $rid->{$desc_field}[$iid]['rendered']['#markup'];
}
else {
$slide['#item']['alt'] = NULL;
}
}
// Override default longdesc
if (!empty($link_field)) {
if (isset($link_node_field)) {
$slide['#item']['longdesc'] = $rid->{$link_field};
}
elseif (!empty($rid->{$link_field}[$iid]['rendered']['#markup'])) {
$slide['#item']['longdesc'] = $rid->{$link_field}[$iid]['rendered']['#markup'];
}
else {
$slide['#item']['longdesc'] = NULL;
}
}
// Get the info for the layer title
if (!empty($layer_title_field)) {
if (isset($layer_title_node_field)) {
$html_title_layer = $rid->{$layer_title_field};
}
elseif (!empty($rid->{$layer_title_field}[$iid]['rendered']['#markup'])) {
$html_title_layer = $rid->{$layer_title_field}[$iid]['rendered']['#markup'];
}
}
// Get the info for the layer text
if (!empty($layer_text_field)) {
if (isset($layer_text_node_field)) {
$html_text_layer = $rid->{$layer_text_field};
}
elseif (!empty($rid->{$layer_text_field}[$iid]['rendered']['#markup'])) {
$html_text_layer = $rid->{$layer_text_field}[$iid]['rendered']['#markup'];
}
}
// Create the full html layer
if (!empty($layer_title_field) || !empty($layer_text_field)) {
if (isset($html_title_layer) || isset($html_text_layer)) {
if (isset($html_title_layer)) {
$html_layer = '<h2>' . $html_title_layer . '</h2>';
if (isset($html_text_layer)) {
$html_layer .= $html_text_layer;
}
}
else {
$html_layer = $html_text_layer;
}
}
}
// Get the slide rendered from the image formatter
$slide = drupal_render($slide);
// Add the html layer to the rendered slide
if (isset($html_layer)) {
$slide .= "\n<div class='layer'><div>" . $html_layer . "</div></div>";
}
// All that to pass this
$vars['content'][] = $slide;
// Unset layer vars for next loop
unset($html_title_layer);
unset($html_text_layer);
unset($html_layer);
}
}
}
else {
$vars['content'] = NULL;
}
_views_jqfx_galleria_add_js($options, 'views-jqfx-galleria-images-' . $vars['id']);
}