Composer not showing when creating a new page

Permalink 1 user found helpful
Hello, I have this really weird problem.

When I go and try and create a new page with my current theme, composer doesn't show. No form appears with options to set the page name, location etc.

The div id is ccm-panel-detail-page-composer and for some odd reason it is set to display: none.

I have no idea why it is doing this only with my custom theme. I've tried checking that my theme works the same way as others in the concrete main directory and I don't see any difference in their inner workings.

Why would the display be set to none for that div? It will give my client a complete and utter headache if I don't figure this out.

Edit: Attached screenshot

The top one is my site and the bottom one is a default installed site. By the looks of it I'm missing a ton of Javascript, is that normal? As you can see display: none is not getting lined out.


Solution:

Don't forget your <?php echo $c->getPageWrapperClass()?> in the class attribute of your main wrapper!

Don't change the background CSS for HTML and body tags directly, make wrapperception to fix everything.

1 Attachment

hdocwra
 
MrKDilkington replied on at Permalink Best Answer Reply
MrKDilkington
Hi hdocwra,

There are two things that you mention that should help solve your problem.

"I have no idea why it is doing this only with my custom theme"

Theme specific issues could mean that you have CSS in your theme that is conflicting with concrete5 UI CSS. Are you scoping your CSS? Overly specific CSS selectors and !important use can also cause this.

http://www.concrete5.org/documentation/how-tos/designers/easily-sco...
http://c5hub.com/learning/stop-your-themes-css-styles-interfering-c...


"By the looks of it I'm missing a ton of Javascript, is that normal?"

I recommend looking at the JavaScript files being linked to in the theme. Including JavaScript that is provided by concrete5 can cause problems. Also, you need to look at your theme page_theme.php file. This file allows you to specify what files you want to provide with your theme and what files you require concrete5 to provide your theme.
hdocwra replied on at Permalink Reply
hdocwra
Okay, I've double checked that all my CSS is scoped correctly.

You suggested I look at my page_theme.php and the only function I am currently using is getThemeEditorClasses() to add some styles to redactor.

The concrete in-built themes don't even have a page_theme.php file to look at so I'm not sure If I need to add any extra methods to mine.

Edit: Aha, I found the in-built theme's page_theme.php file and I'm looking over it now.
Edit 2: Found some Java script imports in the header however adding these to my own theme did nothing. The struggle continues.
Edit 3: Found the problem at last, <?php echo $c->getPageWrapperClass()?> wasn't in my wrapper div's class however when I click the button the entire page moves and goes funky, I guess I'm back to the leaking divs problem.
Edit 4: It's taken all day but I finally got this fixed. My client's old designer had actually set the static css to change html and body which C5 did not like at all! I made a few more wrappers for each and now everything is working correctly.
andrew replied on at Permalink Reply
andrew
Yes, I believe the getPageWrapperClass() is the main culprit here. Without this the panels won't work properly.
lonnon replied on at Permalink Reply
lonnon
Thanks for sorting this out. Just found this discussion via the googles, and this solved my blank composer problem immediately. I was also missing the getPageWrapperClass call; adding that made it all happy again, and I can keep bashing away on this site.
Responsive replied on at Permalink Reply
Responsive
Check your page type that you are creating. In the page type settings there is an option to use Composer or not. If not then I think you just get the page in edit format and save you can then change any Attributes after that,