[eluser]Phil Sturgeon[/eluser]
Here is a recent talking point for v0.9.8 which I posted on our internal collaboration board. This will require users with custom themes and custom modules to make some changes, but in the long run it enables us to do a LOT of cool new things.
I will put together a set of "find & replace" rules and general upgrade instructions on a article/wiki page somewhere for people this effects.
Quote:I realised that there were too many words knocking around that didn't quite cover what they were meant to, so I am in the process of re-naming stuff to make v0.9.8 a neater, more logical build for theme developers.
Templates
I have renamed the Layout library to Template. That library was an archaic mess anyway, with things tacked on over 3 years, so its time I had a serious recode.
Template suggests more of a wireframe, and should incorporate everything. A template is the entire built page and contains the logic to pull themes and layouts together.
Themes
These can stay as they are. I considered renaming to skins, but... effort!
Wrapper
Killed! This was the method name that handled old layouts, $this->layout->wrapper('admin/layout'); = ridiculous. It is now: $this->template->layout('admin/layout');
Layout
The word layout has been freed up by renaming the Layout library to Template, but I am still not sure about what it should mean.
We clearly need layouts, but what level should they be. We cannot have a generic database of layouts as at the moment a layout (default.php or default-wide.php) contains the header, content and footer, meaning lots of theme specific stuff is in there.
Perhaps we can split this into 2 different things.
A) Page layouts
A database GUI for essentially wrapping a page. This would mean we can have a dropdown instead of the text-box on the pages "Advanced" tab, and it would be independant of the general layout. It would let pages have grouped layouts, section navigation bars, etc. We could even add a helper to load in navigation groups, so the navigation bars were dynamic via Navigation module.
B) Module layouts
Perhaps we could have a way for modules to specify their own layouts, so the main layouts have no sidebar at all. A module could contain any number of layouts, and just like view files at the moment these can be over-written in the theme.
This is all confusing stuff, but I think having two kinds of layout would make life easier. It means users can just add pages and faf around with a 5 page site, or they can add a bigger sub-set of pages and control a 100+ page site without them all looking identical. It also means the entire site wont have the EXACT same sidebar, etc on all pages.
Anyway guys, let me know what you think!
That goes just as much for you guys, the community, who have helped this project a huge amount so far.