diff --git a/views_pdf_plugin_style_unformatted.inc b/views_pdf_plugin_style_unformatted.inc index b306e54..f904991 100644 --- a/views_pdf_plugin_style_unformatted.inc +++ b/views_pdf_plugin_style_unformatted.inc @@ -34,6 +34,7 @@ class views_pdf_plugin_style_unformatted extends views_plugin_style { $row = reset($set['rows']); // Render as a grouping set. if (is_array($row) && isset($row['group'])) { + unset($this->view->pdf->render_flag); $field_id = $this->options['grouping'][$level]['field']; $options = array(); if(isset($this->row_plugin->options['formats'][$field_id])) { @@ -41,10 +42,12 @@ class views_pdf_plugin_style_unformatted extends views_plugin_style { } $this->view->pdf->drawContent($set['group'], $options, $this->view); $this->render_grouping_sets($set['rows'], $next_level); + } // Render as a record set. else { if (!empty($set['group'])) { + unset($this->view->pdf->render_flag); $field_id = $this->options['grouping'][$level]['field']; $options = array(); if(isset($this->row_plugin->options['formats'][$field_id])) { @@ -52,11 +55,17 @@ class views_pdf_plugin_style_unformatted extends views_plugin_style { } $this->view->pdf->drawContent($set['group'], $options, $this->view); } - - if ($this->uses_row_plugin()) { - foreach ($set['rows'] as $index => $row) { - $this->view->row_index = $index; - $set['rows'][$index] = $this->row_plugin->render($row); + if (isset($this->view->pdf->render_flag)) { + } else { + $this->view->pdf->render_flag = array(); + if ($this->uses_row_plugin()) { + foreach ($set['rows'] as $index => $row) { + $this->view->row_index = $index; + if (!isset($this->view->pdf->render_flag[$index])) { + $set['rows'][$index] = $this->row_plugin->render($row); + $this->view->pdf->render_flag[$index] = FALSE; + } + } } } }