Recent Topics

[241] Skin won't forget Sidebar 2 container

Started by on Mar 29, 2008 – Contents updated: Mar 29, 2008

1 Mar 29, 2008 20:02    

The skin clearly doesn't have a "Sidebar 2" container, but the widgets page for a blog using that skin says it's there and empty. It lets me add widgets to it, and claims they are there, but - of course - the widget never shows up on the blog.

I'm guessing this is because Sidebar 2 is considered part of a skin upon installation, but reloading a skin without it should clear it.

2 Mar 30, 2008 16:55

Or maybe you have an unsused file within your skin folder that references Sidebar 2.

If the file is there b2evo can't know that you actually never use it.

3 Mar 30, 2008 22:05

I'll look again. I noticed it didn't leave when I added a container and reloaded the skin, so I used Agent Ransack to find "Sidebar 2" in the skins folder and it showed up - in the evocamp skin (of course). But yeah I'll look again because it doesn't make any sense.

4 Mar 30, 2008 22:35

Okay I think I got it.

What *appears* to be happening is that when it reloads a skin and discovers a bunch of containers, it will add containers that are new and of course do nothing with containers it finds that it already knows about, but it didn't remove reference to the container that it didn't discover anew. I did not cruise through code on this one: simply went to the database and deleted reference to that container in that skin from the skins__container table.

I suppose deleting the skin and re-installing it would have solved the problem without direct intervention in the database, but that would entail more than it would be worth to remove mention of an unused container.

And hey in the grand scheme of things this is a tiny little issue yah?

5 Apr 09, 2008 01:44

Yup, tricky issue.

I am planning to have the skins declare their containers explicitely though which should allow for much more flexibility (and less detection errors :p)


Form is loading...

Advanced CMS – This forum is powered by b2evolution CMS, a complete engine for your website.