? ol7views.patch
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.27.2.16
diff -u -p -r1.1.2.27.2.16 openlayers_views_style_data.inc
--- modules/openlayers_views/views/openlayers_views_style_data.inc	8 Dec 2010 14:21:03 -0000	1.1.2.27.2.16
+++ modules/openlayers_views/views/openlayers_views_style_data.inc	8 Dec 2010 19:27:43 -0000
@@ -233,6 +233,10 @@ class openlayers_views_style_data extend
     return $feature;
   }
 
+  /**
+   * Coalesce features into single grouped feature when
+   * grouping is enabled.
+   */
   function coalesce_groups($features, $handlers, $ds) {
     foreach ($features as $k => &$f) {
       $f['attributes']['name'] = $k;
@@ -266,6 +270,22 @@ class openlayers_views_style_data extend
   }
 
   /**
+   * Retrieve name and description for individual features when
+   * grouping is not enabled.
+   */
+  function coalesce_features($features, $handlers, $ds) {
+    foreach ($features as $k => &$f) {
+      $f['attributes']['name'] = isset($handlers[$ds['name_field']])
+        ? $f['attributes'][$handlers[$ds['name_field']]->field_alias . '_rendered']
+        : false;
+      $f['attributes']['description'] = isset($handlers[$ds['description_field']])
+        ? $f['attributes'][$handlers[$ds['description_field']]->field_alias . '_rendered']
+        : false;
+    }
+    return $features;
+  }
+
+  /**
    * Basically an algebraic reduction; given whether to group,
    * a feature, a list of features, etc., return a full $features
    * array with the element added, either straight non-grouped, 
@@ -313,9 +333,14 @@ class openlayers_views_style_data extend
             $excluded_fields[] = $handler->field_alias;
           }
           else {
-            $feature[$handler->field_alias] = $record->{$handler->field_alias};
+            $feature[$handler->field_alias] =
+              isset($record->{$handler->field_alias})
+              ? $record->{$handler->field_alias}
+              : NULL;
             $feature[$handler->field_alias . '_rendered'] =
-              $handler->advanced_render($record);
+              $handler->allow_advanced_render()
+              ? $handler->advanced_render($record)
+              : $handler->render($record);
           }
         }
         $features = $this->reduce_features(
@@ -327,9 +352,16 @@ class openlayers_views_style_data extend
           $title);
       }
     }
-    return $this->coalesce_groups($features,
-      $handlers,
-      $this->options['data_source']);
+    if ($this->options['grouping']) {
+      return $this->coalesce_groups($features,
+        $handlers,
+        $this->options['data_source']);
+    }
+    else {
+      return $this->coalesce_features($features,
+        $handlers,
+        $this->options['data_source']);
+    }
   }
 
   /**
