theme_panels_everywhere_page($vars) renders only $vars['page']['content'] and skips other elements in $vars['page'].

If $vars['page']['content'] is not defined, the page is rendered but with an empty "page content" pane. This interferes with the Overlay module that makes several calls to drupal_render_page() during a single request. Some of the calls are intended to render only specific regions of the page, but Panels Everywhere renders the entire Panels Everywhere page every time.

I don't know if the Overlay module's behaviour in this respect is entirely kosher. But I think it would be a general improvement if theme_panels_everywhere_page() returned early if there is no $vars['page']['content'].

This patch adds a check for this. I wonder whether it would be relevant to also add ... || (isset($page['content']['#access']) && !$page['content']['#access']) to mimic the logic in drupal_render().

Comments

c960657’s picture

StatusFileSize
new354 bytes

Sorry, wrong patch.