| Project: | Panels |
| Version: | 7.x-3.x-dev |
| Component: | Plugins - styles |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | active |
Issue Summary
This is admittedly a strange error, but it's occurred twice so I'm going to submit it. I've had two panel variants on separate pages which stopped displaying their contents without showing any kind of error. The first one I simply recreated from scratch, but when the second failed I became concerned that something was corrupting panels. In either case I didn't change the panels, the only relevant change I can think of is that I've been updating panels, views, and ctools dev releases. The second failure case (attached) is in node views, and it is only one variant which doesn't display. There are three other variants which use the same (custom) layout which display just fine.
The failure scenario appears as follows:
The title will display, and can have any substitutions (no matter how complex). But none of the content below displays. I've tried disabling all the content in each panel, and adding something out-of-the-box (like Page title), but that doesn't display either.
| Attachment | Size |
|---|---|
| EmptyVarriant.txt | 6.05 KB |
Comments
#1
Quick update: it appears that the Panel's style is the source of the error. In the case of my problem view the style of each panel was listed as "Default". When I switch the style to "No Style" it appears.
The truly bizarre thing is that I have other variants which use "Default" style for the same layout which work fine.
#2
I had previously changed one of my pages so that each Panel had the style of "No Style" and it was working fine. I rebooted my development server, and this page stopped working until I changed the style of the first Panel back to "Default".
Is anyone else seeing strange behavior because of panel styles?
#3
I have seen panels style system disappear from the theme registry cache in the past. I don't know WHY this happens; my believe is that it sometimes happens in a state where Drupal doesn't know about Panels plugins and they are then not able to respond to the hook_theme() properly. It seems to happen on cron. I'm sure there is some module out there that is the root cause of it but I haven't figured out what it is.
#4
@merlinofchaos, that makes sense. This morning I did update Entity API, and there was a DB update to clear one of the caches. That was the first thing I did so I can't verify whether it was that or restarting my Dev VM.
What gets me is why it seems to randomly affect certain panels. E.g. this morning, my panels-created home page broke (disappeared). It came back when I changed the first panel's style from "No Style" back to "Default". "Default" included an extra li, so I switched back to "No Style", and it still worked.
#5
There has finally been posted an upgrade path from Panel Nodes to Panelizer over here: #1353542: Upgrade path from Panel Nodes to Panelizer.
And with that, I request that anyone that posts issues regarding Panel Nodes try to upgrade, and then either posts Panelizer issues, or upgrade path issues.
#6
Hi.
I still have this issue. The curious thing is that I don't have the Panelizer module installed.
In my case, the site is still under localhost. There are two available languages and each homepage uses a panel page.
These pages don't use custom styles, so I don't believe that the source of problems is not only the styles of the panels.
I realized some updates yesterday and the content of the panels pages simply disappeared after running the update.php file.
When editing each page, I notice that the pages still exist, as well as your address and layout, but the content really disappeared.
My panels pages are composed of views and the following modules have been updated on the same occasion:
- CKEditor link;
- DS;
- Entity;
- Translation entity;
- Redirect;
- Views;
- Slideshow views, and
- Webform.
Of the above modules, I believe that the more complex and that could cause a problem is the module views.
The attached file is a report of dblog. All errors that occurred at 10:19, are related to access one of the homepages. 95% of errors are related to Panels module.
Any ideas?
#7
This may be the issue: http://drupal.org/node/1359090#comment-5324720
#8
I think this problem is related to DS module, because after disable the module, all is working again.
This issue should be reported there?
Tks.
#9
That may be a coincidence.
If it's what I linked, it has to do with the theme registry being rebuilt during maintenance mode and leaving all of the panel styles out.
#10
The reason I closed this and referenced Panelizer is that the component was set to "Panel nodes". This issue has nothing to do with that module, so the closing and reference was completely irrelevant.
#11
@merlinofchaos, you're right in #9. It's just a coincidence.
I did a test running update.php again and the panels disappeared.
I'll make the suggested test and return soon with the news.
#12
#13
.
#14
I did the following test:
I commented the lines 80, 81 and 82 of the panels.module file, as described here.
After this, I ran update.php and the panels pages are working.
Any ideas?
#15
#16
Ok, for the final test, what we need is an actual update hook that forces the theme registry to rebuild to see if a forced theme registry rebuild during update.php will break if that code is removed. If not, I believe we can roll a patch and commit this.
#17
Having this problem at the moment, made a style plugin but the 'render pane' function never seems to get called. I'm happy to write a patch for it, but I don't really understand whats causing the problem...
I can see where panels registers all the theme functions...
#18
I just had a very similar issue, WSOD panels because of missing styles.
#1411550: Missing panel style check
#19
I was just debugging this, in Drupal 6, with Panels 6.x-3.10. I have the same symptoms: no content when the pane style is "Default". Here's what I found out, hopefully it helps.
The function "template_preprocess_panels_pane()" sets up the $vars["content"] variable, filled up with the markup you'd like to see in the pane as content, as expected. But it seems like this variable doesn't make it back to the "theme()" function. This means that the template "panels-pane.tpl.php" won't see a $content variable, so nothing gets rendered.
Now, I've lost my touch with Drupal due to some time of doing-something-else, but I remember using template_preprocess hooks and debugging them, and the variables that they set in their $vars argument are always accessible in the tpl.php file.
Am I chasing a white rabbit?
#20
Some context:
When you set the pane style to "Default", the style is actually left uninitialized, and saved to the database. When it's the time to render the pane, there's a separation made between panes with defined style, and those with undefined style (i.e. "Default"). This separation is made in
panels_renderer_standard->render_pane(&pane), and it's like this:theme("panels_pane"), which is a template fileWhen number 2. happens, the $content doesn't get to the tpl.php file, as described in #19.
Note: This is just one test case. I didn't get the chance to test & debug more. I can't see any, but there might be other causes too.
Hope this helps.
#21
Quick fix
The preprocessor
template_preprocess_panels_pane()insidepanels.moduledoesn't take its $vars as reference (as preprocessors should, if I remember correctly).function template_preprocess_panels_pane($vars) {...
}
versus
function template_preprocess_panels_pane(&$vars) {...
}
I added the ampersand and the pane showed up (since the problem described at #19 didn't happen anymore). Is this the fix?
#22
It looks like the development version of Panels (6.x-3.x-dev) already has the
&$varsrepaired. Sorry for the noise, then.#23
Thanks camil.bancioiu! I had the same issue, but because I had an older version of panels, the ampersand was not there. Now it works again.
#24
I was facing the same problem and #21 solutions helped fixing it. In my case I was facing this because of difference in php versions of my live server and localhost.
#25
Hi guys,
I got similar issue I guess. After publishing a panel I can see teaser only. I've checked content types for panels setting and it's set to full content, also styles are not set to default. Can anybody help ?
http://hnn.yan.webfactional.com/panel-test
I can provide admin access if needed
many thanks
Jan