diff --git a/panels_mini/plugins/content_types/panels_mini.inc b/panels_mini/plugins/content_types/panels_mini.inc index 2170111..d9a5124 100644 --- a/panels_mini/plugins/content_types/panels_mini.inc +++ b/panels_mini/plugins/content_types/panels_mini.inc @@ -109,6 +109,11 @@ function panels_mini_panels_mini_content_type_render($subtype, $conf, $panel_arg $block->content = panels_render_display($mini->display); $block->title = $mini->display->get_title(); + // Hide mini panel if content is empty. + if (empty($block->content)) { + return FALSE; + } + if (user_access('administer mini panels')) { $block->admin_links = array( array( diff --git a/plugins/display_renderers/panels_renderer_standard.class.php b/plugins/display_renderers/panels_renderer_standard.class.php index f523374..d3f100a 100644 --- a/plugins/display_renderers/panels_renderer_standard.class.php +++ b/plugins/display_renderers/panels_renderer_standard.class.php @@ -396,8 +396,16 @@ class panels_renderer_standard { $theme = $this->plugins['layout']['theme']; } - $this->rendered['layout'] = theme($theme, array('css_id' => check_plain($this->display->css_id), 'content' => $this->rendered['regions'], 'settings' => $this->display->layout_settings, 'display' => $this->display, 'layout' => $this->plugins['layout'], 'renderer' => $this)); - return $this->prefix . $this->rendered['layout'] . $this->suffix; + // Return rendered result if any region is not empty. + foreach ($this->rendered['regions'] as $region) { + if (is_string($region) && $region !== '') { + $this->rendered['layout'] = theme($theme, array('css_id' => check_plain($this->display->css_id), 'content' => $this->rendered['regions'], 'settings' => $this->display->layout_settings, 'display' => $this->display, 'layout' => $this->plugins['layout'], 'renderer' => $this)); + return $this->prefix . $this->rendered['layout'] . $this->suffix; + } + } + + // Return blank result. + return ''; } /**