Hi everyone, don’t be scared off by the long entry, you can probably tell what I mean by reading the first section - the rest are examples and so on 😊
As you can read here, I’ve started a mission to find great WordPress and HTML-3 + CSS3 themes, convert them to ExpressionEngine, and release them for free to the community. I’m releasing the first one - AllTuts - soon.
Most WordPress themes have some sort of user control panel, where various settings can be made. Like what categories should be included in the site menu, what Widgets should be shown in the sidebar, a place to paste Google Analytics code, webmaster e-mail, footer text and so on. Stuff you’d store in Global Vars, but with a nicer interface around it.
Because the themes I’m converting will all be released to the community for free, in an effort to get more people to choose EE, I expect most users of these themes will be newcomers to the platform. And thus I’d really love to give them some sort of control panel, instead of storing these settings in Global Vars or in a “Miscellaneous” channel.
When Bjørn did some theme conversion for WooThemes, he created this CP: Screenshot ... but I’m not fluent enough in PHP to do stuff like that 😊
My question is: Do you know of any kind of “framework” that will allow me to store theme settings and options in a central place, like a control panel, and that can be customized to fit different themes. Something that will, for example, create a nicer interface around a Global Var, where the user makes a selection from a menu, checkbox or text field, that is then stored in a Global Var, so I can reference the setting in the sites code?
Or any other solution, that makes such theme settings more accessible for the user?
A FEW MORE EXAMPLE AND THOUGHTS:
I know I can place these options in a “Miscellaneous” channel. But channel entries can be deleted, and are not very flexible. Any menu or checkbox will be shown in every “Miscellaneous” entry made, even if the option is only used once.
Let’s say you want to let the user select whether to show the theme’s sidebar or not. You can place the setting in a Global Var, but it’s all text so you have to tell the user to change “yes” to “no” or “1” to “0” or something like that.
And if I place a menu in a channel entry for selecting “YES” or “NO” that menu will be shown in every other entry in the “Miscellaneous” channel. Or I can place ALL the settings in one entry, or create a new channel for each ... not the best scenarios from a Users point-of-view 😊
Right now I am using entries in a Misc channel for this, as shown here, where I also use a field for instructions. But the more settings, the more cluttered this will get as I convert the theme and more choices should be made available to the user.
I’m totally fluent in HTML and CSS, but not in PHP - not to a degree that I can code something like Bjørn’s module myself. And because each theme is different, it has different options that should be user selectable. Right now I am storing things in a “Misc” channel, but I really would like a more elegant approach 😊
The solution should preferably be free, because my converted themes will be free. I want them to be a catalyst, that makes people change over to our beloved platform, and charging for a theme - or a part of it - is really far from my mission with this 😊
Or perhaps someone would want to create a framework for this project, that I can easily adapt for each theme? I can do a little PHP, and have coded in other languages. So if someone could just do a framework for me, that will create an interface to hold the values from several Global Vars, and let me choose whether to present these in a text field, radio-button, menu and so on, and then store the users choice in the DB, that would be really cool.
So if you have ideas, input or want to help with such a framework/module/interface, I’d love to hear from you 😊
Thank you all in advance, and sorry for the long post!
-Thomas