I have been working on a context layout enabled theme, but after I started adding layouts, the block regions have disappeared from the context reactions pane (screenshot attached).

If I switch to the Cube theme, context layouts work fine, so I think there may be some strange issue with non-Tao themes.

Comments

mikl’s picture

StatusFileSize
new13.99 KB

Disabling the context_layouts module and clearing the cache returns the block reactions pane to normal working order. After enabling context_layouts module again, I can no longer select block reactions (screenshot attached).

mikl’s picture

The missing block reactions occur when I have a block reaction created before enabling context_layouts, and disappears when clearing the cache.

When I then reopen the block reaction, it looks fine, until I use the layout selector, after which the block regions area goes blank like in the first screenshot, and stays that way, regardless of going back to the region, clearing the cache, etc. Only fix I know is to disable context_layouts.

mikl’s picture

I’ve searched around the issue queue, and noticed there was problems for Zen sub-themes (which the theme I’m building is). I’ve tried applying the fixes from both #633778: Conflict with themes implementing theme_blocks() and #634552: Conflict with context module, but they seem to have no bearing on this issue.

I’ve also tried switching my theme to be Tao-based, but that did not appear to fix it either.

yhahn’s picture

Status: Active » Postponed (maintainer needs more info)

Does the theme you are using implement any context layouts? See README.txt in context layouts ...

mikl’s picture

Status: Postponed (maintainer needs more info) » Active

Yeah, I’ve tried both with and without defining regions for each layout. Currently, my .info file looks like this.

mikl’s picture

I’ve messed some more with it, and it seems there’s some heavy cache stuff going on. Now I have it working on one copy of the site, and not another. Rather confusing.

mikl’s picture

I think I’ve isolated it to when the context_layout module is enabled after the context is created. There’s probably a variable somewhere with stale data. Any ideas?

mikl’s picture

I’ve looked at the variables table, and deleted anything suspecious-looking to no avail. Then I tried manually truncating all the cache tables, which seems to have fixed it. It may also be that whatever it was expired automatically.

yhahn’s picture

Assigned: Unassigned » yhahn

Thanks for debugging, will look into it.

yhahn’s picture

Version: 6.x-3.0-beta5 » 6.x-3.x-dev
Priority: Normal » Critical
yareckon’s picture

Was hitting this same issue today. Was caused by incorrect syntax in my theme.info file which resulted in an incorrect array as the theme tree was built.

( look at the README.txt file for context_layouts to see a correct example, here is just an example for ONE region)

MAKE SURE you define each region in the main theme section above:
regions[left] = Left Sidebar

Then again under the layouts sections -- note different syntax:

layouts[default][regions][] = left
*snip*
layouts[myotherlayout][regions][] = left

henrijs.seso’s picture

Status: Active » Closed (works as designed)

cannot see any more problems in zen subthemes

bleen’s picture

Status: Closed (works as designed) » Active

I'm having the identical issue as the original post ...

After changing my .info file (below) I cleared my cache and then go to create a brand new context. I choose blocks reaction and it correctly shows me the regions but as soon as I choose one of the layouts in the dropdown all the regions disappear never to return ... here is a quick screen capture: http://screencast.com/t/W8k6ZvTSW

Here is my .info file:

name = Mytheme
description = Custom theme.
core = 6.x
engine = phptemplate
screenshot = images/screenshot.png

stylesheets[all][] = css/system.css
stylesheets[all][] = css/system-menus.css
stylesheets[all][] = css/reset.css
stylesheets[all][] = css/styles.css

regions[toolbar]          = Toolbar
regions[header]           = Header
regions[content_header]   = Content Header
regions[content]          = Content
regions[content-wide]     = Content Wide
regions[content_sidebar]  = Content Sidebar
regions[sidebar]          = Sidebar
regions[footer]           = Footer
regions[subfooter]        = Subfooter

; Layout: Default
layouts[default][name] = "Default"
layouts[default][description] = "Standard two column layout."
layouts[default][template] = "page"
layouts[default][regions][toolbar]          = Toolbar
layouts[default][regions][header]           = Header
layouts[default][regions][content_header]   = Content Header
layouts[default][regions][content]          = Content
layouts[default][regions][content_sidebar]  = Content Sidebar
layouts[default][regions][sidebar]          = Sidebar
layouts[default][regions][footer]           = Footer
layouts[default][regions][subfooter]        = Subfooter

; Layout: Wide
layouts[wide][name] = "Wide Content"
layouts[wide][description] = "Two-column at the top with a full-page width content region below."
layouts[wide][template] = "page"
layouts[wide][regions][toolbar]          = Toolbar
layouts[wide][regions][header]           = Header
layouts[wide][regions][content_header]   = Content Header
layouts[wide][regions][content-wide]     = Content Wide
layouts[wide][regions][sidebar]          = Sidebar
layouts[wide][regions][footer]           = Footer
layouts[wide][regions][subfooter]        = Subfooter
bleen’s picture

Status: Active » Needs review
StatusFileSize
new846 bytes

Ok ... I think I found the problem. The .js file is grabbing the region div to show based on "val" instead of "key" this is a non-issue in many cases (I suspect) because (I suspect) many people have the identical value for their region names and the human readable region name.

bleen’s picture

Status: Needs review » Closed (works as designed)

ignore my previous two posts ... my problem was the syntax in my .info file:

layouts[default][regions][subfooter]        = Subfooter

should have been

layouts[default][regions][]        = "subfooter"