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().
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | panels-everywhere-content-2.patch | 354 bytes | c960657 |
| panels-everywhere-content-1.patch | 45 bytes | c960657 |
Comments
Comment #1
c960657 commentedSorry, wrong patch.