Hi,
I have a view that displays a listing of photo galleries with thumbnails using the bonus grid view. The photos for the gallery upload in a rather unreliable manner so when displaying the gallery I am using a usort() function to sort the photos alphabetically by name - this way it doesn't matter how they upload as long as the client names them correctly. This is working fine in the galleries, but in the bonus grid view it is still displaying another photo in the thumbnail - i'm not sure if it's in order of upload (which is random since the uploading is happening in bulk and asynchronously) or what, but I would like to have it sorted alphabetically by name. I can't figure out where to set this - I looked in views settings and also in the theming function in my template.php. The latter is likely where it needs to go but I'm not sure which variable contains the images. Below is the function which started as generated from the views theming wizard and has been modified since. Anyone know which of these obtusely named variables represents the thumbnail image?
function phptemplate_views_bonus_view_grid_photo_gallery($view, $nodes, $type) { $fields = _views_get_fields();
$taken = array();
// Set up the fields in nicely named chunks. foreach ($view->field as $id => $field) { $field_name = $field['field']; if (isset($taken[$field_name])) { $field_name = $field['queryname']; } $taken[$field_name] = true; $field_names[$id] = $field_name; }
// Set up some variables that won't change. $base_vars = array( 'view' => $view, 'view_type' => $type, );
foreach ($nodes as $i => $node) { $vars = $base_vars; $vars['node'] = node_load($node->nid); $vars['view_fields'] = $view->field; $vars['count'] = $i; $vars['stripe'] = $i % 2 ? 'even' : 'odd'; foreach ($view->field as $id => $field) { $name = $field_names[$id];
$vars[$name] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view); if (isset($field['label'])) { $vars[$name . '_label'] = $field['label']; } } $attrs = array(); $attrs["onClick"] = "return showPhotos('" . 'node/'.$node->nid . "')"; $vars['title'] .= ' | '. l('View Gallery »', 'node/'.$node->nid, $attrs, null, null, false, true); $items[] = _phptemplate_callback('views-list-photo_gallery', $vars); } if ($items) { return implode($items); } }