? 736576-openlayers-views-group-theme.patch
Index: modules/openlayers_views/openlayers_views.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/openlayers/modules/openlayers_views/openlayers_views.module,v
retrieving revision 1.4.2.9
diff -u -p -r1.4.2.9 openlayers_views.module
--- modules/openlayers_views/openlayers_views.module	7 Mar 2010 20:17:21 -0000	1.4.2.9
+++ modules/openlayers_views/openlayers_views.module	11 Mar 2010 00:12:35 -0000
@@ -30,6 +30,21 @@ function openlayers_views_views_api() {
 }
 
 /**
+ * Implementation of hook_theme().
+ */
+function openlayers_views_theme($existing, $type, $theme, $path) {
+  return array(
+    'openlayers_views_group_display_item' => array(
+      'arguments' => array(
+        'name' => '',
+        'description' => '',
+      ),
+      'file' => 'includes/openlayers_views.theme.inc',
+    ),
+  );
+}
+
+/**
  * Implementation of hook_ctools_plugin_api().
  */
 function openlayers_views_ctools_plugin_api($module, $api) {
Index: modules/openlayers_views/includes/openlayers_views.theme.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/openlayers/modules/openlayers_views/includes/Attic/openlayers_views.theme.inc,v
retrieving revision 1.3
diff -u -p -r1.3 openlayers_views.theme.inc
--- modules/openlayers_views/includes/openlayers_views.theme.inc	21 Sep 2009 04:36:32 -0000	1.3
+++ modules/openlayers_views/includes/openlayers_views.theme.inc	11 Mar 2010 00:12:35 -0000
@@ -9,11 +9,20 @@
  */
 
 /**
- * Theme function for openlayers_views_feature_style
+ * Theme function for openlayers_views_group_display_item
+ *
+ * Output of OpenLayers View diplay plugin for grouped items.
  */
-function theme_openlayers_views_feature_style($view = NULL, $row = NULL, $group = NULL) {
-  $output = array();
-
-  // Here is where styles based on the view or row can be created
+function theme_openlayers_views_group_display_item($name = '', $description = '') {
+  $output = ''
+  
+  // Build output
+  if (!empty($name)) {
+    $output .= '<h2 class="openlayers-views-group-feature-name">' . $name . '</h2>';
+  } 
+  if (!empty($description)) {
+    $output .= '<div class="openlayers-views-group-feature-description">' . $description . '</div>';
+  } 
+  
   return $output;
 }
Index: modules/openlayers_views/views/openlayers_views_style_data.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/openlayers/modules/openlayers_views/views/openlayers_views_style_data.inc,v
retrieving revision 1.1.2.10
diff -u -p -r1.1.2.10 openlayers_views_style_data.inc
--- modules/openlayers_views/views/openlayers_views_style_data.inc	9 Mar 2010 21:29:15 -0000	1.1.2.10
+++ modules/openlayers_views/views/openlayers_views_style_data.inc	11 Mar 2010 00:12:35 -0000
@@ -253,21 +253,20 @@ class openlayers_views_style_data extend
           }
         }
 
+        // Create list of items for feature.
         $descriptions = array();
         foreach ($record as $k => $v) {
+          // Get rendered values
           foreach ($handlers as $hid => $handler) {
             $rendered_record[$handler->field_alias] = $handler->advanced_render($v);
           }
-          $item = '';
-          if ($data_source['name_field']) {
-            $name_field = $fields[$data_source['name_field']]['field_alias'];
-            $item .= "<h2 class='point-title'>". $rendered_record[$name_field] ."</h2>";
-          } 
-          if ($data_source['description_field']) {
-            $description_field = $fields[$data_source['description_field']]['field_alias'];
-            $item .= "<div class='point-content'>". $rendered_record[$description_field] ."</div>";
-          }
-          $descriptions[] = $item;
+          // Get aliases name
+          $name_field = (!empty($data_source['name_field'])) ? 
+            $fields[$data_source['name_field']]['field_alias'] : NULL;
+          $description_field = (!empty($data_source['description_field'])) ? 
+            $fields[$data_source['description_field']]['field_alias'] : NULL;
+          // Create output
+          $descriptions[] = theme('openlayers_views_group_display_item', $rendered_record[$name_field], $rendered_record[$description_field]);
         }
 
         $grouped_description = theme('item_list', $descriptions);
